当前位置:文档之家› 2019-北京理工大学-成教-《C语言程序设计》期末测试卷 (5)

2019-北京理工大学-成教-《C语言程序设计》期末测试卷 (5)

[试题分类]:C语言程序设计1.下列叙述中,错误的是A. 分号是C语言语句的必要组成部分B. C语言程序的入口不一定是主函数mainC. C语言程序基本组成单位是函数D. C语言程序的注释可以写在语句后面答案:B题型:单选题知识点:第2章 C语言概述难度:12.下列选项中,所有符号均不是C语言关键字是A. scanf,defineB. auto,ifC. else,forD. switch, do答案:A题型:单选题知识点:第2章 C语言概述难度:13.下列选项中,不能作为C语言常量的是A. 0xA5B. 2.5e-2C. 3e2D. 0582答案:D题型:单选题知识点:第3章数据类型与运算规则难度:14.C语言中,不能进行++和--运算的数据类型是A. intB. longC. doubleD. 指针答案:C题型:单选题知识点:第3章数据类型与运算规则难度:15.若有定义“int w=1,x=2,y=3,z=4;”,则条件表达式“w<x ? y<z ? y : z : w”的结果是A. 4B. 3C. 2D. 1答案:B题型:单选题知识点:第3章数据类型与运算规则难度:26.若有定义“int x;”,则逗号表达式“(x=4*5,x*5),x+25”的值是A. 20B. 100C. 45D. 不确定答案:C题型:单选题知识点:第3章数据类型与运算规则难度:27.若有定义“int i=-1,j=1;”,则执行下列语句后的输出结果是if((i++<0) && !(j--<0))printf("%d %d\n",i,j);else printf("%d %d\n",j,i);A. -1 1B. 0 1C. 1 1D. 0 0答案:D题型:单选题知识点:第5章选择结构的程序设计难度:28.下列叙述中,正确的是A. switch语句中可以根据需要使用或不使用break语句B. break语句不能用于switch语句以外的其他语句C. break语句是switch语句的一部分D. switch语句中必须使用break语句答案:A题型:单选题知识点:第5章选择结构的程序设计难度:29.若有定义“int x=10,i;”,则下列语句执行后的结果是for (i=0; x>8; ) printf ("%d ",x--);A. 10 9B. 9 8C. 死循环D. 语句错误答案:A题型:单选题知识点:第6章循环结构的程序设计难度:210.若有定义“int n=0;”,则执行语句“while(n<=2) printf("%d", n++);”后的输出结果是A. 01B. 12C. 012D. 123答案:C题型:单选题知识点:第6章循环结构的程序设计难度:211.{若有定义“int x=1,y=10;”,则执行下列语句后变量y的值是do \{y-=x; x++;\} while(y--<0);}A. -4B. 2C. 5D. 8答案:A题型:单选题知识点:第6章循环结构的程序设计难度:212.下列对字符数组str的定义、初始化或赋值语句中,错误的是A. char str[ ]="Beijing";B. char str[20]; str="Beijing";C. char str[20]={"Beijing"};D. char str[20]={'B', 'e', 'i', 'j', 'i', 'n', 'g'};答案:B题型:单选题知识点:第7章数组难度:113.{若有定义“int aa[3][3]=\{1,2,3,4,5,6,7,8,9\},i;”,则执行下列语句后的输出结果是 for(i=0;i<3;i++)printf("%d,",a[i][2-i]);}A. 1,5,9,B. 1,4,7,C. 3,5,7,D. 3,6,9,答案:C题型:单选题知识点:第7章数组难度:214.下列关于函数调用的叙述中,错误的是A. 函数调用可以作为独立语句存在B. 函数调用可以作为一个函数的实参C. 函数调用可以出现在表达式中D. 函数调用可以作为一个函数的形参答案:D题型:单选题知识点:第8章函数难度:115.若在C语言中未说明函数的类型,则系统默认该函数的数据类型是A. longB. doubleC. floatD. int答案:D题型:单选题知识点:第8章函数难度:116.若有定义“int *p,a=4; p=&a;”,则下列选项中,各组成项均代表地址的是A. a, p, *&aB. &*a, &a, *pC. *&p, *p, &aD. &a, &*p, p答案:D题型:单选题知识点:第9章指针难度:217.执行下列语句序列后的输出结果是int a=25; int *ptr=&a;printf("%d",++*ptr);A. 23B. 24C. 25D. 26答案:D题型:单选题知识点:第9章指针难度:218.{若有定义“enum color \{red, yellow=2, blue, white, black\} c1;”,则执行语句“printf("%d", c1=black);”后的输出结果是}A. 5B. 4C. 3D. 2答案:A题型:单选题知识点:第10章结构、联合与枚举类型难度:219.当定义一个联合体变量时,系统为它分配的内存空间是A. 联合体中占内存容量最大成员所需内存容量B. 联合体中任意一个成员所需内存容量C. 联合体中各成员所需内存容量之和D. 联合体中第一个成员所需内存容量答案:A题型:单选题知识点:第10章结构、联合与枚举类型难度:220.已知函数调用“fread(buffer, size,count, fp);”,其中buffer代表的是A. 一个整数,代表要读入的数据项总数B. 一个文件指针,指向要读的文件C. 一个指针,指向要读入数据的存放地址D. 一个存储区,存放要读的数据项答案:C题型:单选题知识点:第11章文件难度:121.若一个字符串的长度为n,则存储它的字符数组的长度至少为。

答案:n+1题型:填空题知识点:第3章数据类型与运算规则难度:122.为表示关系x<y<z,应使用的表达式是__________。

答案:(x<y)&&(y<z)题型:填空题知识点:第3章数据类型与运算规则难度:123.下列语句序列执行后,变量x和z的值分别是和。

int x=1,y=1,z=1,s;s=++x||++y&&++z;答案:(1) 2 (2) 1题型:填空题知识点:第3章数据类型与运算规则难度:124.{当输入为2时,下列语句序列执行后的输出结果是__________。

int k; scanf("%d",&k);switch(k) \{case 1: printf("%d",k++);case 2: printf("%d",k++);default: printf("n");\}}答案:2n题型:填空题知识点:第5章选择结构的程序设计难度:225.{下列语句序列执行后,变量x和m的值分别是(1) 和(2)。

int x=1,m=1,n=10;while(x<n) \{m*=2;x+=3;\}}答案:(1) 10 (2) 8题型:填空题知识点:第6章循环结构的程序设计难度:226.{下列语句序列执行后的输出结果是__________。

int x;for(x=5;x>0;x--)if(x--<5) printf("%d",x);else printf("%d",x++);}答案:431题型:填空题知识点:第6章循环结构的程序设计难度:127.{若有定义“char s[8]=\{ '1', '2', '3', '\0', '1', '2', '3', '\0'\}; ”,语句“printf("%s",s);”执行后的输出结果为__________。

}答案:123题型:填空题知识点:第7章数组难度:128.{若有如下函数定义,则函数调用“fun("Language")”的返回值是__________。

int fun(char s[]) \{int i=0;while(s[i]) i++;return i;\}}答案:8题型:填空题知识点:第8章函数难度:229.下列语句序列执行后的输出结果是__________。

char *s="abcde";printf("%c",*(s+2));答案:c题型:填空题知识点:第9章指针难度:230.{若有定义:int a[2]=\{10,20\};struct \{int x; int *y;\} d[2]=\{\{1,&a[0]\}, \{2,&a[1]\}\};则执行语句“*(d[1].y)-d[0].x*d[1].x);”的结果是。

}答案:18题型:填空题知识点:第10章结构、联合与枚举类型难度:231.{下列程序的功能是删除字符串s中的字符'c'后,再输出字符串s。

#include <stdio.h>int main() \{char s[80];int i,j;gets(s);for(i=j=0;s[i]!='\0';i++)if(s[i] (1) ) \{s[j]= (2) ;j++;\}s[j]= (3) ;puts(s);return 0;\}}答案:(1) !='c' (2) s[i] (3) '\0'题型:填空题知识点:第6章循环结构的程序设计难度:232.C语言程序中可以有多个函数,但只能有一个主函数。

答案:√题型:判断题知识点:第2章 C语言概述难度:133."A"是一个字符常量。

相关主题