C语言题库带答案排版

上传人:suij****uang 文档编号:49674129 上传时间:2022-01-18 格式:DOC 页数:6 大小:489KB
收藏 版权申诉 举报 下载
C语言题库带答案排版_第1页
第1页 / 共6页
C语言题库带答案排版_第2页
第2页 / 共6页
C语言题库带答案排版_第3页
第3页 / 共6页
资源描述:

《C语言题库带答案排版》由会员分享,可在线阅读,更多相关《C语言题库带答案排版(6页珍藏版)》请在装配图网上搜索。

1、一、选择题1、以下不能定义为用户标识符的是()。(A) MAIN (B) _HJ(C) 2ong(D) LINE12、以下不能定义为用户标识符的是()(A) If(B) H_J(C)208ong(D) LINE123、下面属于 C 语言标识符的是 ()。(A) 2ab (B) f(C) ?b(D) _a124、下列符号中用来表示C 语言中的回车换行的是()。(A) r(B) n(C) b(D) t5、在计算机系统中,可执行程序是()(A)源代码(B)汇编语言代码(C)机器语言代码(D)ASCII码6、在 Visual C+ 6.0环境下, C 源程序文件名的默认后缀是 ()。(A) .obj

2、(B) .txt(C) .c(D) .doc7 、 Microsoft Visual C+ 6.0中, C 语言可执行程序的扩展名是:()(A) exe(B) obj(C) c或 cpp(D) txt8、C 程序由 ()组成。(A) 子程序 (B)主程序和子程序(C)函数 (D)过程9、C 程序的基本组成单位 ()。(A)数据类型 (B)变量和常量(C)函数 (D)表达式10 、C 语言中主函数的个数是 ()。(A) 2个(B)1个 (C)任意个(D) 10个11 、一个 C 程序的执行是从()(A) 本程序的 main() 函数开始 , 到 main 函数结束 .(B) 本程序文件的第一个函

3、数开始 , 到本程序文件最后一个函数结束 .(C) 本程序文件的第一个函数开始 , 到本程序 main 函数结束 .(D) 本程序的 main() 函数开始 , 到本程序文件的最后一个函数结束 . 12 、以下叙述正确的是(A) 在 C 语言程序中, main 函数必须放在其他函数的最前面(B) 在每个后缀为 .C 的 C 语言源程序都可以单独进行编译(C) 在 C 语言程序中,只有 main 函数才可单独进行编译(D) 每个后缀为 .C的 C 语言源程序都应该包含一个 main函数13 、设变量 a 是整型, b 是实型, c 是双精度型,则表达式2+a+b*c 值的数据类型是()。(A)

4、int(B) float(C) double14 、以下选项中表示一个合法的常量是(说明:符号表示空格)A) 99 9B)0XabC)123E0.2D)2.7e15 、以下选项中非法的字符常量是A)102B)65C)xffD)01916 、以下选项中,能表示逻辑值“假”的是A)1B)0.000001C)0D)100.017 、下列关系表达式中,结果为“假”的是A)(3+4)6B)(3!=4)2C) 3=4|3D)(34)=118 、关于 C 语言变量,以下说法不正确的是()(A) 变量名由程序员定义,必须符合标识符的命名规则。(B) 变量是程序运行过程中其值可以改变的量。(C) 可以用 C 语

5、言的关键字作为变量名。(D) 变量命名时应尽量做到见名知意。19 、关于 C 语言中数的表示,以下叙述正确的是A) 只有整型数在允许范围内能精确无误的表示,实型数会有误差B) 只要在在允许范围内整型和实型都能精确表示C) 只有实型数在允许范围内能精确无误的表示,整型数会有误差D) 只有八进制表示的数在不会有误差20、设有语句 inta=3; ,则执行了语句a+=a =a*a; 后,变量 a 的值是。A3B0C9D 1221、在 C 语言中,要求运算数必须是整型的运算符是。A%B/CD!22、C 语言中最简单的数据类型包括。A整型、实型、逻辑型B整型、实型、字符型C整型、字符型、逻辑型D 整型、

6、实型、逻辑型、字符型23、在 C 语言中,合法的字符型常量是。AtB AC65 D A24、若已定义 x 和 y 为 double型变量,则表达式 x=1 ,y=x+3/2 的值是。A1B2C2.0D 2.525、设正 x、y 均为整型变量, 且 x=10,y=3,则以下语句的输出结果是。printf(%d,%dn,x-,-y);A10,3B9,3C9,2D 10,226、若有定义 inta=8,b=5,C;,执行语句 C=a/b+0.4;后,C 的值为。A1.4B 1C2.0 D227、以下选项中,不正确的赋值语句是。A+t;B n1=(n2=(n3=0);Ck=i=j;Da=b+c=1;2

7、8、设 x 和 y 均为 int型变量,则语句:x+=y,y=x-y;x-=y;的功能是。A把 x 和 y 按从大到小的顺序排列B把 x 和 y 按从小到大的顺序排列C无确定结果D交换 x 和 y 中的值29 、以下程序的输出结果是。#include main()char c=z;printf(%c,c-25);AaBZC z-25D y30 、已知字母 A 的 ASCII码为十进制数的65 ,以下程序的输出结果是。#include main()char ch1,ch2;ch1=A+5-3;ch2=A+6-3;printf(%d,%cn,ch1,ch2);A67,DB B,CCC,DD不确定的

8、值31 、若 k 是 int型变量,则以下程序片段的输出结果是。k=-3;if(k=0) printf(#);else printf(&);A#B&C#&D有语法错误,无输出结果32 、关于以下程序,说法正确的是。#include main()int x=3,y=0,z=0;if(x=y+z) printf(* * * *);else printf(# # # #);A有语法错误不能通过编译B输出*C可以通过编译,但是不能通过连接,因而不能运行D输出#33、若要求在 if 后一对圆括号中表示a不等于 0的关系,则能正确表示这一关系的表达式为。A a0B!aC a=0Da34、能正确表示关系 x

9、 y z 的 C 语言表达式是。A(x=y)&(y=z)B(x=y)and(y=z)C (x=y=z)D(x=y)&(y=10 or a=0|a=10 &a=10 a=036、若变量 c 为 char型,能正确判断出c 为小写字母的表达式是。Aa=c= a)|(c= z)C(a=c)D(c= a)&(c= z)37、语句 while(E);中的条件 E 等价于。A E=0BE!=1CE!=0D E38、语句 while(!E);中的条件 !E 等价于。AE=0BE!=1C E!=0D E39、以下程序片段的输出结果是。int x=23;doprintf(%2d,x-); while(!x);A

10、打印出 321B打印出 23C不打印任何内容D陷入死循环40、若 i 、 j 已定义为 int型变量,则以下程序片段中,内循环体的执行次数是。for(i=5;i;i-)for(j=0;j4;j+) A20B25C 24D3041、以下程序的输出结果是。#include main()int n=4;while(n-)printf(%d ,-n);A2 0B3 1C321D21042、以下定义语句中,错误的是。Aint a=1,2;B char *a3;Cchar s10=test;Dint n=5,an;43、设 int 型变量占用 4 个字节,如有定义 int x10=0,2,4;,则数组x

11、在内存中所占的字节数是。A 3B 12C20D4044、以下语句的输出结果是。printf(%dn,strlen(t065xffn);A5B1445、以下程序片段的输出结果是。char str=abn012;printf(%d,strlen(str);A 3B 4C6D1246 、以下数组定义中,不正确的是。Aint a23;Bint b3=0,1,2,3;Cint c100100=0;D int d3=1,2,1,2,3,1,2,3,4;47 、以下程序的输出结果是。#include main()int a44=1,3,5,2,4,6,3,5,7;printf(%d%d%d%dn,a03,a

12、12,a21,a30);A 0650B 1470C 5430D不确定的值48 、以下程序的输出结果是。#include main()intaa44=1,2,3,4,5,6,7,8,3,9,10,2,4,2,9,6;int i,s=0;for(i=0;i4;i+)s+=aai1;printf(%dn,s);A 11B19C13D2049 、以下对 C 语言字符数组的描术中,错误的是。A字符数组可以存放字符串B字符数组中的字符串可以整体输入、输出C可以在赋值语句中通过赋值运算符“=”对字符数组整体赋值D不可以用关系运算符对字符数组中的字符串进行比较50 、定义如下变量和数组:int i;int x

13、33=1,2,3,4,5,6,7,8,9;以上语句的输出结果是。for(i=0;i3;i+)printf(%d,xi2-i);A159B 147C357D 36951、不能将字符串: Hello!赋给数组 b 的语句是。Achar b10=H,e,l,l,o,!,0;B char b10;b=Hello!;Cchar b10;strcpy(b,Hello!);Dchar b10=Hello!;52、以下数组定义中,合法的是。Aint a=string;Bint a5=0,1,2,3,4,5;Cstring s=string;Dchar a=0,1,2,3,4,5;53、若有以下定义语句:int

14、 a10=1,2,3,4,5,6,7,8,9,10,*p=a;则数值为 6 的表达式是。A *p+6B*(p+6)C*p+=5Dp+554 、若有以下定义语句:int w34=0,1,2,4,5,8;int(*p)4=w;则数值为 4 的表达式是。A*w1+1 B p+,*(p+1) Cw22D p1155 、若有以下定义语句:int a10=1,2,3,4,5,6,7,8,9,10,*p=a;则不能表示 a数组元素的表达式是。A *pBa10C*aDap-a56、下列保留字中用于构成循环结构的是()(A) else(B) for(C) switch (D) default57、以下程序运行结

15、果是: ()(A) 无限次输出: “你好,中国! ”(B) 输出 5 次“你好,中国! ”(C) 没有任何输出(D) 编译错误,不能运行#includemain()while(5)printf(你好,中国! );58 、以下函数值的类型是。int fun(float x)float y;y=3*x-4;return y;AintB不确定CvoidDfloat59 、以下程序的输出结果是。#include int a,b;void fun()a=100;b=200;main()int a=5,b=7;fun();printf(%d%dn,a,b);A 100200B 57C 200100D 75

16、60 、以下函数调用语句含有个实参。func(exp1,exp2),(exp3,exp4,exp5);A1B2C4D561 、在调用函数时,如果实参是简单变量,它与对应的形参之间的数据传递方式是。A地址传递B 单向值传递C由实参传给形参,再由形参传回实参D 由用户指定的62 、以下 if语句错误的是()(A)if (xy)x+; y+; else x-; y-;(B)if (x) x+y;(C)if (x= 是A) 算术运算符B) 关系运算符C) 逻辑运算符D) 以上均不是73. 已知: int a=1,b=2,c=3,d=4;则表达式 ab?a:(cd?c:d)的值是A)1B)-2C)3D)

17、474. 执行以下程序段后,变量 y 的值是 int x,y;x=1;y=(+x*5);A)5B)10C)15D)2075. 若有说明: int a4=1,2,3,4,5,6,7,8,9,10,11,12;,则数组第一维的大小为A)2B)3C)4D) 不能确定的值76. 函数调用: strcat(strcpy(str1,str2),str3)的功能是A) 将串 str1复制到串 str2中后再连接到串str3之后B) 将串 str1连接到串 str2之后再复制到串str3中C) 将串 str2复制到串 str1中后再将串 str3连接到串 str1之后D) 将串 str2连接到串 str1之后

18、再将串 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,y);则执行上述程序后的输出是A)13,18B)18,5C)18,5D)18,230,81,131,141,1378. 若以数组名作为函数的实参,则实参向形参传送的是A) 数组元素的地址B) 数组元素的值C) 数组的首地址D) 数组名79. 变量的指针是A) 变量的值B)指针变量C) 变量存储单元的地址D)变量存储单元的字节数80 执行以下程序后,a 的值为int *

19、p,a=10,b=1;p=&a;a=*p+b;A)12 B) 编译出错C)10D)11二、填空题1、 C 语言标识符由字母、下划线或数字组成。命名标识符必须以字母或下划线开头,字母严格区分大小写,不能使用C 语言的关键字作为标识符。(两空顺序可以互换)2、在 C 语言中,包含头文件的预处理命令以#开头。3、在 C 语言中,主函数名是main。4、机器语言是计算机唯一能直接执行的语言。计算机并不能直接地接受和执行用高级语言编写的源程序,源程序在输入计算机时,通过“翻译程序 ”翻译成机器语言形式的目标程序, 计算机才能识别和执行。 这种 “翻译”通常有两种方式,即编译和 解释。5、C 语言源程序文

20、件经过编译后,生成文件的后缀是.obj;经过连接后,生成文件的扩展名是.exe。6、开发一个 C 程序要经过编辑、编译 、链接和运行 4 个步骤。7、在结构化程序设计方法中,有顺序结构、选择结构和循环结构三种基本结构。8、C 语言中为了简化程序,提高程序的编译效率,在赋值运算符前面加上其他运算符号构成复合运算符。例如:x=x+5用复合运算符可以写成x += 59、已知字符 A 的 ACSII码值为 65 ,以下语句的输出结果是B,66char ch=B;printf(%c,%dn,ch,ch);10、若定义: inta=5,b=2,c=1;则表达式 a-bc|b=c的值是1;表达式 a-bc&

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

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

23、y 均为 int 型变量,且 x=1,y=2,则表达式 1.0+x/y的值为_1.0_ 。23、变量 a 和 b 的值均不为 0的逻辑表达式是 _ _a!=0 & b!=0_ 。24、对于 while 和 do-while这两种循环语句, _ _do-while_ 语句至少执行 1 次循环体。25、逗号表达式 (a=15,a*4),a+5的值为 _ _20_ 。26、 执 行 下 列 语 句 inta=8;a+=a-=a*a;后 , a的 值 是_ _-112_ _ 。27、开发一个 C 程序要经过编辑、 _ _ 编译 _ _ 、连接和运行4 个步骤。28、C 语言中基本的数据类型有:整型、_

24、 _ 实型 _ _ 、字符型。29、int x=6, y=7;printf( ”%d,”,x+);printf( ”%d n”,+y);程序的输出结果是 _ _6,8_ 。30、判断 ch 为大写字母的逻辑表达式 _ _ch=A& ch= Z_ _ 。31、func(exp1,exp2),(exp3,exp4,exp5);该函数调用语句含有 2个实参。32 、设有以下定义语句:int a32=10,20,30,40,50,60,(*p)2=a;则*(*(p+2)+1)的值为60。33 、以下函数的功能是将两个整数指针所指的存储单元中的内容进行交换。exchange(int *x, int *y

25、)int t;t=*y; *y=*x; *x=t;34、int变量在 Win32中占4个字节。35、写出 10x20 或 x10& x20 |x-30 。36、变量 a、b 中有且只有一个为0 的逻辑表达式是a=0& b!=0| a!=0& b=0。37、若有定义语句: int a=5;,则表达式 a+ 的值是5。38、若有语句 double x=17;int y;,当执行 y=(int)(x/5)%2;之后 y 的值是 1。39、若整型变量 a 和 b 中的值分别为 7 和 9 ,要求按以下格式输出a 和 b 的值:a=7,b=9请完成输出语句: printf (a=%d,b=%d ,a,b

26、);。40、若有定义: int k;,以下程序段的输出结果是#2#4。for(k=2;k6;k+,k+) printf(#%d,k);41 、以下程序运行后的输出结果是1 0。#includemain()int x=20;printf(%d ,0x20);printf(%dn,0x & x20);42 、设 a、 b、 c 的为整型数,且a=2 、b=3 、c=4 ,则执行完以下语句后,a的值是28。a*=16+(b+)-(+c);43 、若想通过以下输入语句给a 赋予 1,给 b 赋予 2,则输入数据的形式应该是a=1,b=2。int a,b;scanf(a=%b,b=%d,&a,&b);4

27、4 、若有定义语句int a=10,b=9,c=8;,执行以下语句后,变量b 的值是3 。c=(a-=(b-5);c=(a%11)+(b=3);45 、以下程序的输出结果是2,1。#include main()int 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。#inclu

28、de main()int x=10,y=20,t=0;if(x=y)t=x; x=y; y=t;printf(“%d,%dn”,x,y);49 、以下函数的功能是将两个整数指针所指的存储单元中的内容进行交换。exchange(int *x, int *y)int t;t=*y; *y=*x; *x=t;50 、函数 fun( )计算数组中各元素的平均值。double fun(int a,int n)int i;double sum=0.0,avg;for(i=0; in; i+)sum +=ai;avg=sum/n;return avg;51 、函数 fun 功能:对数组中前 n 个元素进行排

29、序。 void fun(int a,int n)int i,j;int temp;for(i=0; in-1; i+)for(j=i+1; jaj)temp=ai; ai=aj; aj=temp;52 、字符串的结束标志是0 。53 、表达式 6.0*(1/2)的值为0.0。54 、C 语言中,唯一的三目运算符是条件运算符,而 &是双目运算符。顺序结构:1 、编写一个 C 程序,由用户输入一个双精度实型数据存储到变量x 中,实现四舍五入保留小数点三位,并输出。2 、编写一个 C 程序,实现由用户输入两个整数a,b ,交换 a 和 b 的值后,输出。3 、编写一个 C 程序,由用户输入三角形三条

30、边长a,b,c,计算三角形的面积,并输出 , 如果输入的三条边不能构成三角形的话,则输出-1 。附:计算三角形的海伦公式:设三角形三边长为a,b,c,半周长p=(a+b+c)/2,面积sp(p - a)(p - b)(p - c)选择结构:1 、输入两个整数,求其最大值并输出。2 、输入三个整数,求其最大值并输出。3 、输入三个整数,要求按照从小到大进行排序,并输出。4 、编写一个 C 程序,由用户输入一个整数,判断并输出它是奇数还是偶数。循环结构:1、编写一个 C 程序,求 1+2+3+.+99+100的值。2、编写一个 C 程序,求 1+3+5+.+97+99的值。3、编写一个 C 程序,

31、求的值。 1 111.11234991004 、编写一个 C 程序,输入一个整数,判断其是否为素数。数组:1 、编写一个程序,从键盘上读取10 个整数到数组中, 并数组中元素其最大值,并输出。2 、编写一个程序,从键盘上读取一个字符串到字符数组中,统计字符串中数字字符的个数,并输出。3 、编写一个程序,求 N*N 矩阵左下半角元素置为零。4 、编写一个程序,求二维数组中周边元素的和。5、使用一维数组来存放5 个学生的考试分数 85,70,67,75,90 ,求分数在60-75之间的学生人数。#includemain()int a5=85,70,67,75,90,i,count=0;for(i=0;i=60&ai=75)count+;printf(“60-75分之间有 %d位学生 n ”,count);函数:1 、编写一个函数void fun(int a,int n);,要求对 a 指向的数组中n个元素逆序进行存放。2、编写一个函数 int fun(int a,int n);,要求返回 a 所指向数组中元素的最大值。3、编写一个函数 int IsPrime(int m),判断某个数是否为素数,如果是,返回 1 ,如果不是,返回 0。4、编写一个函数 void fun(char *s);,要求删除所有 s 所指向字符串中的空格。

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!