C语言题库带答案排版_第1页
C语言题库带答案排版_第2页
C语言题库带答案排版_第3页
C语言题库带答案排版_第4页
C语言题库带答案排版_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、(A) r(B) n(C) b (D) t(B)汇编语言代码一、选择题1、以下不能定义为用户标识符的是()。(A) MAIN (B) _HJ(C) 2ong(D) LINE12、 以下不能定义为用户标识符的是()(A) If (B) H_J(C) 208ongI (D) LINE123、下面属于C语言标识符的是()。(A) 2ab (B) f (C) ?b|(D) _al2_I4、 下列符号中用来表示 C语言中的回车换行的是()5、在计算机系统中,可执行程序是(A) 源代码B) 只要在在允许范围内整型和实型都能精确表示C) 只有实型数在允许范围内能精确无误的表示,整型数会有误差D) 只有八进制

2、表示的数在不会有误差20、设有语句int a=3;,则执行了语句a+=a =a*a;后,变量a的值是A. 3 B . 0 C . 9D 1221、 在C语言中,要求运算数必须是整型的运算符是。|A. % B . / C . 6| B)(3!=4)2 | C) 3=4|3 D)(34)=118、 关于C语言变量,以下说法不正确的是()(A) 变量名由程序员定义,必须符合标识符的命名规则。(B) 变量是程序运行过程中其值可以改变的量。(C) 可以用C语言的关键字作为变量名。(D) 变量命名时应尽量做到见名知意。19、关于C语言中数的表示,以下叙述正确的是A) 只有整型数在允许范围内能精确无误的表示

3、,实型数会有误差#include main()char c=z;printf(%c,c-25);A .耳 B . Z C . z-25 D . y30、已知字母A的ASCII码为十进制数的65,以下程序的输岀结果是 #include main()char ch1,ch2;ch1=A+5-3;ch2=A+6-3;printf(%d,%cn,ch1,ch2);A . 67,D|B . B,CC . C,DD.不确定的值31、 若k是int型变量,则以下程序片段的输出结果是 。k=-3;if(k=0) printf(#);else printf(&);A . #B . &C . #&D .有语法错误

4、,无输出结果32、 关于以下程序,说法正确的是 。#include main()(C) do.while是先执行循环体,后进行循环条件判断。 int x=3,y=0,z=0; if(x=y+z) printf(* * * *);else prin tf(# # # #);A.有语法错误不能通过编译B .输出* * * *C .可以通过编译,但是不能通过连接,因而不能运行33、若要求在if后一对圆括号中表示 a不等于0的关系,则能正确表示这一 关系的表达式为A. a0B. !aC. a=0D. a#include main()int a44=1,3,5,2,4,6,3,5,7;printf(%d

5、%d%d%dn,a03,a12,a21,a30)|A . 0650| B . 147048、以下程序的输出结果是#include C 5430D.不确定的值34、 能正确表示关系x y z的C语言表达式是。B . (x=y)and(y=z)C . (x=y=z)D . (x=y)&(y 10或a 0的C语言表达式是A . (x=y )&(y=10 or a=10 &a=0|a=10 | a=036、若变量c为char型,能正确判断出c为小写字母的表达式是37、A . a=c= zC . (a=c)语句A .B. (c= a)|(c= a)&(c= z)38、语句39、while(E);E=0w

6、hile(!E);A. E=0中的条件E等价于B . E!=1int i,s=0;for(i=0;i4;i+) s+=aai1;printf(%dn,s);A . 11B. 19C. 13D. 20C. E!=0中的条件!E等价于。B . E!=1C. E!=0以下程序片段的输岀结果是int x=23;doprintf(%2d,x-); while(!x);A.打印出321C .不打印任何内容40、若i、j已定义为int 是 。型变量,B . 打印出 23D .陷入死循环则以下程序片段中,内循环体的执行次数for(i=5;i;i-) for(j=0;j4;j+) B .A. 2025C.24D

7、.3041、以下程序的输岀结果是#include main()int n=4while(n-)printf(%d ,-n);A . 242、以下定义语句中,错误的是B. 3 1C.D.49、以下对C语言字符数组的描术中,错误的是 。A. 字符数组可以存放字符串B. 字符数组中的字符串可以整体输入、输出C .可以在赋值语句中通过赋值运算符“=对字符数组整体赋值D .不可以用关系运算符对字符数组中的字符串进行比较50、定义如下变量和数组:int i;int x33=1,2,3,4,5,6,7,8,9;以上语句的输岀结果是。for(i=0;i3;i+)printf(%d, xi2-i);A . 1

8、5 9 B . 1 4 751、不能将字符串:Hello!赋给数组A . char b10=H,e,T,T,o,!,0;B . char b10;b=Hello!;|C . 3 5 7的语句是A . int a=1,2;C . char s10=test;43、设int型变量占用4个字节,如有定义int x10=0,2,4; x在内存中所占的字节数是。B.char *a3;D. int n=5,an;,则数组44、A . 3B. 12以下语句的输岀结果是C. 20printf(%dn,strlen(t065xffn);B . 14D. 4045、以下程序片段的输岀结果是char str=abn

9、012;46、printf(%d,strlen(str);A . 3B . 4C . 6以下数组定义中,不正确的是D . 12int a23;int b3=0,1,2,3;int c100100=0;D int d3=1,2,1,2,3,1,2,3,4;47、以下程序的输岀结果是C . char b10;strcpy(b,Hello!); D . char b10=Hello!;52、以下数组定义中,合法的是_A . int a=string;C . string s=string;53、若有以下定义语句:int a10=1,2,3,4,5,6,7,8,9,10,*p=a;则数值为6的表达式是

10、。A . *p+6B . *(p+6)54、若有以下定义语句:int w34=0,1,2,4,5,8;int(*p)4=w;则数值为4的表达式是。A . *w1+1 B . p+,*(p+1) C55、若有以下定义语句:B.int a5=0,1,2,3,4,5;D. char a=0,1,2,3,4,5;C. *p+=5.w22|D. p11D. p+5int a10=1,2,3,4,5,6,7,8,9,10,*p=a;则不能表示a数组元素的表达式是A . *pB. a10C . *aD . ap-a56、下列保留字中用于构成循环结构的是(A) else(B) for57、以下程序运行结果是:

11、(C) switch (D) default(A) 无限次输出: 你好,中国!(B)(C)(D)输出5次你好,中国!没有任何输出编译错误,不能运行#includemain()while(5)printf(”你好,中国!);(D) while 、do.while 和for语句的循环体都可以是空语句67、对do.while语句错误的描述是:()(B)循环次数不可能为0(D)循环次数可能为0“=”)左边。B)必须是变量名D)可以是常数或表达式B)i=i+1; s=i;D)s=i;s=i+1;a D)则表达式a%b的值为C)逻辑运算符D)以上均不是则表达式ab?a:(cd?c:d) 的值是D4。A.地

12、址传递| B .单向值传递C.由实参传给形参,再由形参传回实参D .由用户指定的62、以下if语句错误的是()(A) if (xy) x+; y+; else x-; y_;(B) if (x) x+ = y;(C) if (xy);(D) if (x!=y) seanf (%d,&x); else x+;63、 以下有关switch语句的说法正确的是()(A) break语句是switch语句中必需的一部分。(B )在 switch语句中可以根据需要使用或不使用break 语句。(C) break语句在switch语句中不可以使用。(D) 在switch语句中的每一个 case 都要使用br

13、eak 语句。64、以下叙述正确的是()(A) do-while语句构成的循环不能用其它语句构成的循环来代替。(B) do-while语句构成的循环只能用 break语句退出。(C) 用do-while 语句构成的循环,在while后的表达式为非零时结束循环。(D) 用do-while语句构成的循环,在while 后的表达式为零时结束循环。65、 C语言中规定,if语句的嵌套结构中,else总是()配对。(A )与最近的if(B)与第一个if(C) 与按缩进位置相同的if66、以下说法错误的是(D)与最近的且尚未配对的if)(A) do.while语句与while 语句的区别仅是关键词“whi

14、le ”出现的位置不同。A)2B3|C)4D)不能确定的值76.函数调用:strcat(strcpy(str1,str2),str3)的功能是A)将串str1复制到串str2中后再连接到串str3之后B)将串str1连接到串str2之后再复制到串str3中C) 将串 str2复制到串str1 中后再将串str3连接到串str1 之后D) 将串str2 连接到串str1之后再将串str1 复制到串str3 中77.有以下程序#include main()int a,b;a=5;b=8;p(a+b,a);p(a/b,b);p(int x,int y)y=x+y;printf(“d,%dn ” ,x

15、,y);则执行上述程序后的输出是|A)13,18B)18,5 C)18,5 D)18,230,1,131,141,13(B) while 语句是先进行循环条件判断,后执行循环体。78.若以数组名作为函数的实参,则实参向形参传送的是58、 以下函数值的类型是。int fun(float x)float y;y=3*x-4;return y;A. int B.不确定C. void D . float59、 以下程序的输岀结果是。#include int a,b;void fun()a=100;b=200;main()int a=5,b=7;fun();printf(%d%dn,a,b);A. 10

16、0200| B . 57 C . 200100D. 7560、 以下函数调用语句含有个实参。func(exp1,exp2),(exp3,exp4,exp5);A. 1B. 2 IC. 4D. 561、在调用函数时,如果实参是简单变量,它与对应的形参之间的数据传递方 式是(A)可构成多重循环结构(C)先执行后判断语言中规定,赋值表达式中赋值号(A)可以是常数C)只能是表达式69 . C语言中,s=i+;等价于A)s=i; i=i+1;C)s=i; s=s+1;70. 正确的整型常量是A)3e3|B)045C)71. 已知:int a=3,b=8;,A)0 B) C)272 . C程序中,运算符

17、=是A)算术运算符|B)关系运算符.73. 已知:int a=1,b=2,c=3,d=4;A)1B)-2C)374. 执行以下程序段后,变量 y的值是int x,y;x=1;y=(+x*5);A)5|B)10|C)15D)2075. 若有说明:int a4=1,2,3,4,5,6,7,8,9,10,11,12;,贝U数组第一维的大小为A)数组元素的地址C)数组的首地址79.变量的指针是A)变量的值B)C)变量存储单元的地址| D)80 .执行以下程序后,a的值为int *p,a=10,b=1;B)数组元素的值D)数组名指针变量变量存储单元的字节数p=& a;a=*p+b;A)12 B)编译出错

18、 C)10|D)11、填空题1、 C语言标识符由字母、下划线或数字组成。命名标识符必须以字母 或下划线 开头,字母严格区分大小写,不能使用C语言的关键字作为标识符。(两空顺序可以互换)2、在C语言中,包含头文件的预处理命令以 p#|开头。3、在C语言中,主函数名是| main |4、机器语言是计算机唯一能直接执行的语言。计算机并不能直接地接受和执行用高级语言编写的源程序,源程序在输入计算机时,通过翻译程序”翻译成机22、设x和y均为int型变量,且x=1,y=2,则表达式+x/y的值为23、变量a和b的值均不为0的逻辑表达式是24、对于 while 和 do-while至少执行1次循环体。25

19、、逗号表达式(a=15,a*4),a+526卜执行下列语句int-112a!=0 & b!=027卜28卜29卜这两种循环语句,do-while语句的值为a=8;20a+=a-=a*a; 后,a 的值是开发一个C程序要经过编辑、C语言中基本的数据类型有:整型、int x=6, y=7;printf( ” d,” ,x+);printf( ” %d n”,+y);程序的输出结果是30、判断ch为大写字母的逻辑表达式31、func(exp1,exp2),(exp3,exp4,exp5);个实参。32、设有以下定义语句:编译实型卜连接和运行4个步骤。、字符型。ch= A & chc|b=c的值是j表

20、达式a-bc&b=c的值是0 Ll14卜“:? ”条件运算符是C语言中唯一的三目运算符。由其连接的表达式为条 件表达式,其格式为: ? : 。执行过程:首先计算表达式1的值,如果表达式1的值是真(非0),则整个表达式的值 为 表达式2 |的值;如果表达式1的值是假”(0),则整个表达式的值为 表达式3 |的值。15、 C语言中常用的三种循环控制语句中,while语句和for语句属于型 循环,dowhile语句属于 直到 型循环。16、 把多个语句用括号 括起来组成的一个语句称|复合语句|。在程序 中应把这种语句看成是单条语句,而不是多条语句。把一种只有分号而没有表达式的特殊语句称语句匚,它是c

21、语句中最简单的语句,因为它只由一个分号组成,是一种不执行任何操作的语句。17卜对于while 和dowhile这两种循环语句, dowhile 语句至少执行1次循环体,而while |语句可以一次也不执行循环体。18、 在循环语句中,continue和break 语句的区别是:continue 语句提前结束本次循环,进行下一次循环的判断;而| break|语句跳出循环结构,结束循环。19、 一个循环体内又包含另一个完整的循环结构,称为|嵌套 。20、 for语句表达方式灵活多样,for(;) 表示循环条件为真。21、表达式(in t)(double)(5/2)+的值是 4 Ioint a32=

22、10,20,30,40,50,60,(*p)2=a;则 *(*(p+2)+1) 的值为 60 33、以下函数的功能是将两个整数指针所指的存储单元中的内容进行交换。excha nge(i nt *x, int *y)int t;t=*y; *y=|*x ; *x=|t J ;34卜int 变量在Win32中占_4_j个字节。35 卜写出 10x20 或 x-30 的 C 语言表达式& x20 |x-30 。36卜变量a、b中有且只有一个为 0的逻辑表达式是_Ja=0 & b!=0 | a!=0 |& b=0 o37卜若有定义语句:int a=5;,则表达式a+的值是_5j_。38 卜若有语句 d

23、ouble x=17;int y;,当执行 y=(int)(x/5)%2; 之后 y 的值是丄_o39卜若整型变量a和b中的值分别为7和9,要求按以下格式输出a和b的 值:a=7,b=9请完成输出语句:printf (|a=%d,b=%d|,a,b);。40、 若有定义:int k;,以下程序段的输出结果是#2#4| _。for(k=2;k6;k+,k+) pri ntf(#%d,k);41、 以下程序运行后的输出结果是1 0 o#in cludemai n()int x=20;prin tf(%d ,0x20);prin tf(%dn,0x & x20);42、 设a卜b、c的为整型数,且

24、a=2卜b=3卜c=4,则执行完以下语句后,a 的值是 _oa*=16+(b+)-(+c);43、若想通过以下输入语句给a赋予1,给b赋予2,则输入数据的形式应该是a=1,b=2o编写一个C程序,由用户输入一个整数,判断并输出它是奇数还是偶数。并数组中元素其最大值,printf(,要求对a指向的数组中n,要求返回a所指向数组中int a,b;scanf(a=%b,b=%d, &a, &b);44、若有定义语句int a=10,b=9,c=8;,执行以下语句后,变量b的值是c=(a-=(b-5);c=(a%11)+(b=3);45、 以下程序的输出结果是2 。#include main()int

25、 a=1,b=2;a=a+b; b=a-b;a=a-b;printf(%d,%dn,a,b);46、 以下程序的输出结果是261.#include main()int a=177;printf(%on,a);47、 以下程序的输出结果是16-。#include main()int a=0;a+=(a=8);printf(%dn,a);48、 以下程序的输出结果是20,0。#include main()int x=10,y=20,t=0;if(x=y)t=x; x=y; y=t;printf(“d,%dn” ,x,y);49、以下函数的功能是将两个整数指针所指的存储单元中的内容进行交换。exch

26、ange(int *x, int *y)int t;t=*y; *y=*x| ; *x=t | ;50、 函数fun()计算数组中各元素的平均值。double fun(int a,int n)int i;double sum=| ,avg;for(i=0; in; i+)sum +=ai | ;avg= sum/n ; return avg;51、函数fun功能:对数组中前n个元素进行排序。void fun (i nt a,i nt n)int i,j;int temp;for(i=0; i匹| ; i+)for(j=i+1; jaj)temp=ai; ai=; aj=|temp52、 字符串的结束标志是0 。53、 表达式*(1/2)的值为|盲54、 C语言中,唯一的三目运算符是|条件运算符,而&是|双 目运算符。顺序结构:1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论