当前位置:首页 > C语言程序习题集
C语言程序设计习题集
模拟试题
一、选择题(本大题30分,每小题1分)
1.下列说法正确的是 。
E) 在执行C程序时不是从mian函数开始的
F) C程序书写格式严格限制,一行内必须写一个语句 G) C程序书写格式自由,一个语句可以分写在多行上
H) C程序书写格式严格限制,一行内必须写一个语句,并要有行号 2.下列标识符正确的是 。 A)x+y123 B)4_student C)a456 D)U.S 3.以下说法正确的是 。
E) C语言程序总是从第一个定义的函数开始执行
F) 在C语言程序中,要调用的函数必须在main()函数中定义 G) C语言程序总是从main()函数开始执行
H) C语言程序中的main()函数必须放在程序的开始部分
4. 不是C语言提供的合法关键字。 A)char B)scanf C)case D)default 5.C语言提供的合法关键字是 。 A)ELSE B)INT C)case D)printf 6.设有定义“int k=0;”,以下四个表达式中与其他三个表达式的值不相同的是 A 。 A)k++ B)k+=1 C)++k D)k+1 7.C语言中不能用来表示整常数的进制是 。 A)十进制 B)十六进制 C)八进制 D)二进制 8.在C语言中,回车换行符是 。 A)\\n B)\\t C)\\v D)\\b 9.设d为字符变量,下列表达式不正确的是 。 A)d=97 B)d=?a? C)d=”a” D)d=?g? 10.10+?a?+1.5-567.345/?b?的结果是 型数据。 A)long B)double C)int D)unsigned float
11.语句int i=3;k=(i++)+(i++)+(i++);执行过后k的值为 A ,i的值为 。 A)9,6 B)12,5 C)18,6 D)15,5
12.printf函数中用到格式符\,其中数字4表示输出的字符串站用4列。如字符串长度大于4,则按原字符长从左向右全部输出;如果字符串长度小于4,则输出方式为 。
A)从左起输出该字符串,右补空格 B)按原字符长从左向右全部输出 C)右对齐输出该字符,左补空格 D)输出错误信息
24
C语言程序设计习题集
13.下列程序运行的结果是 。 void main() {int k=17;
printf(\
A)17,021,0x11 B)17,17,17 C)17,0x11,021 D)17,21,11 14. 下列程序运行的结果是 。 void main() {int a=2,c=5 ;
printf(\
A)a=% 2,b=%5 B)a=2,b=5 C)a=d,b=d D)a=2, c=5
15.判断字符型变量ch为大写字母的表达式是 。
A)?A?<=ch<=?Z? B)(ch>=?A?)&(ch<=?Z?) C)(ch>=?A?)&&(ch<=?Z?) D)(ch>=?A?)AND(ch<=?Z?) 16.两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是 。 main( ) { int x;
scanf(“%d”,&x);
if(x++>5) printf(“%d”,x); else printf(“%d\\n”,x--); }
A)7和5 B)6和3 C)7和4 D)6和4 17. 能正确表示a>=10或a<=0的关系表达式是 。 A)a>=10 or a<=0 B)a>=10 | a<=0
C)a>=10 && a<=0 D)a>=10 | | a<=0 18.下面程序的运行结果是 。 void main()
{int num=0; while(num<=2)
{num++;printf(“%d”,num);}}
A)1 B)1 2 C)1 2 3 D)1 2 3 4
19. 有如下程序段, 其执行结果为 。 for ( n = 10; n > 7; n-- )
printf ( “ %d\\n” , n ) ;
A)10 B) 9 C)10 D)9
9 8 9 8 8 7 8 7
7 6
20. 循环语句中的for语句,其一般形式如下: for(表达式1;表达式2;表达式3) 语句 其中表示循环条件的是 。
25
C语言程序设计习题集
A)表达式1 B)表达式2 C)表达式3 D)语句
21.下面几个字符串处理表达式中能用来把字符串str2连接到字符串str1后的一个是: 。
A)strcat(str1,str2) ; B)strcat(str2,str1); C)strcpy(str1,str2) ; D)strcmp(str1,str2);
22.设有两字符串“Beijing”、“China”分别存放在字符数组str1[10],str2[10]中,下面语句中能把“China”连接到“Beijing”之后的为: 。
A)strcpy(str1,str2); B)strcpy(str1, “China”); C)strcat(str1,“China”); D)strcat(“Beijing”,str2);
23. 判断字符串a和b是否相等,应当使用 。
A)if (a= =b) B)if (a=b)
C)if (strcpy(a,b)) D)if(strcmp(a,b)) 24. 若有如下定义和语句:
char s[12]= “a book!”; printf(“%d”,strlen(s) );
则输出结果是: 。
A)12 B)10 C)7 D)6
25.若有说明:int a[3][4] = {0};则下面正确的叙述是: 。
A)只有元素a[0][0]可以得到初值0 B)此说明语句不正确
C)数组a中每个元素均可得到初值0
D)数组a每个元素均可得到初值,但值不一定为0
26.若用fopen( )函数打开一个新的二进制文件,该文件可以读也可以写,则文件打开模式是 。
A)“ab+” B) “wb+” C)“rb+” D)“ab”
27.若fp是指向某文件的指针,且已读到此文件末尾,则库函数feof(fp)的返回值是 。
A) EOF B) 0 C) 非零值 D) NULL
28.凡是函数中未指定存储类别的局部变量,其隐含的存储类别为 。
A)自动(auto) B)静态(static) C)外部(extern) D)寄存器(register) 29.有如下函数调用语句 B
func((exp1, exp2),( exp3,exp4,exp5));
该函数调用语句中,含有的实参个数是 。
A) 1 B)2 C) 5 D)4
26
C语言程序设计习题集
30. 10.算法中,对需要执行的每一步操作,必须给出清楚、严格的规定,这属于算法的 ( )
A. 正当性 B. 可行性 C. 确定性 D. 有穷性 31.下面说明不正确的是( )
A.char a[10]=”china”; B.char a[10],*p=a;p=”china”; C.char *a;a=”china”; D.char a[10],*p;p=a=”china”; 32.在说明一个结构体变量时系统分配给它的存储空间是( )。
A.该结构体中第一个成员所需存储空间 B.该结构体中最后一个成员所需存储空间
C.该结构体中占用最大存储空间的成员所需存储空间 D.该结构体中所有成员所需存储空间的总和 33.C语言结构体类型变量在程序执行期间( )
A.所有成员一直驻留在内存中 B.只有一个成员驻留在内存中 C.部分成员驻留在内存中 D.没有成员驻留在内存中 34当说明一个共用体变量时系统分配给它的内存是( )
A.各成员所需内存量的总和 B.结构中第一个成员所需内存量 C.成员中占内存量最大者所需的容量 D.结构中最后一个成员所需内存量 35以下程序的输出结果是( )。
struct HAR
{ int x, y; struct HAR *p;} h[2]; main()
{ h[0].x=1;h[0].y=2;
h[1].x=3;h[1].y=4; h[0].p=&h[1].x; h[1].p=&h[0].x;
printf(\}
A) 12 B) 23 C) 14 D) 32 36.若有下面的说明和定义: struct test
{ int ml; char m2;float m3;
union uu {char ul[5]; int u2[2];} ua; }myaa;
则sizeof(struct test )的值是( )
A. 12 B. 16 C. 14 D. 9 37.使用fseek函数可以实现的操作是( )。
A) 改变文件的位置指针的当前位置 B) 文件的顺序读写
27
共分享92篇相关文档