C语言练习题a

合集下载

c语言程序设计期末试题A(含答案)

c语言程序设计期末试题A(含答案)

c语言程序设计期末试题A(含答案)一、单项选择题(选择一个最佳答案,每题2分,共20分)1.一个C程序的执行是从( )。

A)本程序的main函数开始,到main函数结束B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C)本程序的main函数开始,到本程序文件的最后一个函数结束D)本程序文件的第一个函数开始,到本程序main函数结束2.下列选项中,不能用作标识符的是( )。

A) _1234_B) _1_2C) int_2_D) 2_int_3.以下定义语句中正确的是( )。

A) char a='A'b='B';C) int a=10,*b=B) float a=b=10.0;D) float *a,b=4.设有以下定义:#define。

d。

2int。

a=0.double。

b=1.25.char c=’A’;则下面语句中错误的是()。

A) a++;B) b++C) c++;D) d++;5.以下4个选项中,不能作为一条C语句的是( )。

A) {;}B) a=0,b=0,c=0.C) if(a>0);D) if(b==0) m=1;n=2;6.有以下定义语句double a,b。

int w。

long c;若各变量已正确赋值,则下列选项中正确的表达式是( )。

A) a=a+b=b++B) w%(int)a+b)C) (c+w)%(int)aD) w=a==b;7.设有定义:int n=0,*p=&n,**q=则以下选项中,正确的赋值语句是( )。

A) p=1;B) *q=2;C) q=p;D) *p=5;8.设有定义:int a,*pa=以下scanf语句中能正确为变量a读入数据的是( )。

A) scanf(“%d”,pa)。

C) scanf(“%d”,&pa)。

B) scanf(“%d”,a)。

D) scanf(“%d”,*pa);9.如有申明:char*language[]={”FORTRAN”,”BASIC”,”PASCAL”,”JAVA”,”C”};则表达式*language[1]>*language[2]比力的是()。

C语言试题(第二学期)A及答案

C语言试题(第二学期)A及答案

C语言试题(第二学期)A及答案重庆理工大学考试试卷考试科目:C语言试题(第二学期)A卷共4页班次姓名学号成绩一.选择填空(选择一个正确答案,将其对应字母填在横线上)(20分)1.一个C程序的执行是从B;A:子程序开始B:main函数开始C:第一个函数D:第一条语句2.C语言中,正确的字符常量是B;A:“C”B:‘\n’C:‘ABC’D:‘1234’3.若a是float型变量,b是char型变量,以下输入语句合法的是B;A:canf(“%6.2f%f”,&a,&b)B:canf(“%6.2f%c”,&a,&b)C:canf(“%6.2d%”,&a,&b)D:canf(“%6.2f%c”,a,b)4.TurboC语言中,int类型和long类型数据在内存中分别占B个字节;A:4,4B:2,4C:2,2D:2,35.intr=0123,表示是D数;A:十进制;B:字符;C:十六进制;D:八进制6.在if(条件)语句执行时,当条件为D时C语言认为是“真”;A:TRUE;B:.T.C:0D:非零值7.如果a[1]=--3,执行b[2]=++a[1];c[3]=a[1]++;b[2]和c[3]的值是;A:2,2;B:4,4;C:3,3;D:3,48.设inta、b、c;且a=10;b=4;a/=b;则表达式(a/bb+a:b-a)之值是C;A:0.5B:6;C:2;D:-29.对于int某p,arry[10];正确的赋值语句是__A;A:p=arry;B:某p=&arry;C:p=&arry;D:某p=&arry[9];10.设int某,a,b,c;计算表达式某=(a=4,b=16,c=32)后,某的值是C;A:4B:16C:32D:5211.对于inta[][3]={1,2,3,4,5,6,7,8,9,10}说明语句,且有:数据元素a[1][2]+a[3][1]的值为____D_____;A:15B:16C:8D:612.intn=97;witch(n/10-4){cae2:n=n+1;cae3:n=n某2;cae5:n=n-2;cae7:n=n+3;default:n=n/2;}n的正确结果值是__49______A:95B:96C:97D:98?13.已知inti=j=2;char某a="abcdefg",c;执行c=某(a=a+3);c的值是______C____。

C语言各章节练习题(含答案)

C语言各章节练习题(含答案)
A) define IF type B) getc char printf
C) include case scanf D) while go pow
3. 下列四组选项中,均是不合法的用户标识符的选项是 。
4. 设有:int a=1,b=2,c=3,d=4,m=2,n=2;执行(m=a>b)&&(n=c>d)后n的值为 B 。
A) 1 B) 2 C) 3 D) 4
5. 以下程序的运行结果是 B 。
main()
{ int a,b,d=241;
2. printf函数中用到格式符%5s,其中数字5表示输出的字符串占用5列。如果字符串长度大于5,则输出按方式 B ;如果字符串长度小于5,则输出按方式 C 。
A) 从左起输出该字符串,右补空格 B) 按原字符长从左向右全部输出
C) 右对齐输出该字符串,左补空格 D) 输出错误信息
a=d/100%9;
b=(-1)&&(-1);
printf(“%d,%d”,a,b);
} A) 6,1 B) 2,1 C) 6,0 D) 2,0
四、逻辑运算与判断选取控制
选择 1. 逻辑运算符两侧运算对象的数据类型 D 。
A) 只能是0和1 B) 只能是0或非0正数 C) 只能是整型或字符型数据 D) 可以是任何类型的数据
2. 判断char型变量ch是否为大写字母的正确表达式是 C 。
11.设有说明:char w; int x; float y; double z;则表达式w*x+z-y值的数据类型为 。
A) float B) char C) int D) double
12.设以下变量均为int类型,则值不等于7的表达式是 。

C语言程序设计试题a

C语言程序设计试题a
9,C语言与其他高级语言一样,对于所有的统计运算符均遵循左结合原则。 10,在if……else语句中,else总是和它上面最近且未曾配对的if配对。 三,提空提。 1,有以下宏定义: #define WIDTH 8 #define LENGTH WIDTH 8 执行复制语句c=LENGTH*20;(V为int型变量)后,v的值为 ? 2,设i,j均为int型变量,则执行完下面的for循环后,k的值为 ? for(i=1,j=10;i<=j;i++,j--)k=i+j; 四,读程题。 #include void main() { int a,b; a=2;b=3 if(a>b) {a=b;b=a} else (a++;b++) printf("%d,%d\n",n,d); 运行的结果:? #include void main() { inta[9] ={1,2,3,4,5,6,7,8,9},s=0,i; for(i=0;i<9;i++) if(a[i]%2==0) s+=a[i]; prinf('s=%d\n",s); } 运行的结果:? #include int fl(int x,int y) { int sum=0; sum=x+y; ++x; ++y; } void main() {int a=10,b=20; fl(a,b); printf("%d,%d\n",a,b); } 运行结果:?
page 3
} 运行结果:? sum = 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 = 36 结果sum=36回车 #include"stdio.h" sub (int x,int y,int*z) {*Z=Y-X;} void main() { int a,b,c; sub (10,5,&a); /* a = 5-10= -5 */ sub(7,a,&b); /* b = -5-7 = -12 */ sub(a,b,&c); /* c = -12 -(-5) = -7 */ printf("%d,%d,%d\n",a,b,c) 运行结果; ? 运行结果 -5,-12,-7回车 五,编程题。 1,运输公司对用户计算运费。路程s(km)越远,每吨/千米运费越低。其标准如下 : s<250 时没有折扣; 250=<s<500 时2%折扣; 500=<s<1000 时5%折扣 1000=<s<2000 时8%折扣 2000=<s<3000 时10%折扣 3000=<s 时15%折扣 请用C语言编程实现。 double s; double zhekou; if(s<250) zhekou = 0; else if(s <500) zhekou = 0.02; else if(s <1000) zhekou = 0.05; else if(s <2000) zhekou = 0.08; else if(s < 3000) zhekou = 0.1; else zhekou = 0.15; 1本文由小胖西105贡献 doc文档可能在WAP端浏览体验不佳。建议您优先专业 题号 得分 一、单选题(15 分) 1、若有定义:int a=8, b=5, c; 执行语句 c = a/b+0 .4 ;后,c 的值为( A) 1.4 B) 1 C) 2.0 D) 2 2 、以下程序中,while 循环的次 数是( #include void main(void) { int i = 0; while (i<10) { if (i<1) cont inue; if (i==5) break; i++; } } A) 1 B) 死循环,不能确定次数 3、以下程序的 输出结果是( #include void main(void) { int a = 0, i; for (i=1; i<5; i++) v { switch (i) { case 0: case 3: a += 2; case 1: case 2: a += 3; default: a += 5; } } printf(“%d\n”, d); } A) 31 B) 13 C) 10 ) 。 ) 。 班级 三 四 五 学号 六 七 姓名 八 总分

C语言试题A卷+答案(1)

C语言试题A卷+答案(1)

桂林电子科技大学非计算专业学生计算机水平考试(C语言)A卷答案第一卷出卷人:大学生创新创业综合实践基地软件部策划:大学生创新创业综合实践基地软件部科技发展部1、( )是构成C语言程序的基本单位。

A、函数B、过程C、子程序D、子例程正确答案:A概念题目需要记下!2、以下说法中正确的是( )。

A、C语言程序总是从第一个定义的函数开始执行B、在C语言程序中,要调用的函数必须在main( )函数中定义C、C语言程序总是从main( )函数开始执行D、C语言程序中的main( )函数必须放在程序的开始部分正确答案:C[解析]C程序是由函数构成的。

一个C源程序至少包含一个MAIN函数,也可以包含一个MAIN函数和若干个其他函数,因此,函数是C程序的基本单位。

3、下列四组字符串中都可以用作C语言程序中的标识符的是( )。

A、print _3d db8 aBcB、I\am one_half start$it 3paiC、str_1 Cpp pow whileD、Pxq My->book line# His.age正确答案:A4、C语言中的简单数据类型包括( )。

A、整型、实型、逻辑型B、整型、实型、逻辑型、字符型C、整型、字符型、逻辑型D、整型、实型、字符型正确答案:D5、C语言中,关系表达式和逻辑表达式的值是( ) 。

A、0B、0或1C、1D、'T'或'F'正确答案:B6、下面( )表达式的值为4.A、 11/3B、 11.0/3C、 (float)11/3D、 (int)(11.0/3+0.5)正确答案:D解析:选项A,11与3为两个整数,11/3结果的数据类型也应为整数,因此将3.666666的小数部分全部舍掉,仅保留整数,因此11/3=3。

选项B,11.0为实数,3为整数,因此首先要统一数据类型,将整型数据3转换为3.0,转换后数据类型统一为实型数据,选项B变为11.0/3.0,结果的数据类型也应为实型数据,因此选项B 11.0/3=3.666666。

C语言程序设计A模拟考核试题及解答

C语言程序设计A模拟考核试题及解答

C 语言程序设计A 》模拟考核试题及解答一、选择题1.由C 语言源程序文件编译而成的目标文件的缺省扩展名为( ) 。

A. cppB. exeC. objD. C2. C 语言程序的基本模块为( )。

A. 表达式B. 标识符C. 语句D. 函数3.x>0 || y==5 的相反表达式为( )。

A. x<=0 || y!=5B. x<=0 && y!=5C. x>0 || y!=5D. x>0 && y==54.枚举类型中的每个枚举常量的值都是一个( )。

A. 整数B. 浮点数C. 字符D. 逻辑值5.循环语句“ for(int i=0; i<n; i++) S; ”中循环体S 被执行的次数为( )A. 1B. n-1C. nD. n+16.在下面的while 循环语句中,其循环体被执行的次数为( )。

int i=0,s=0; while(s<20) {i++; s+=i;}A. 4B. 5C. 6D. 77.若定义了函数double *function(), 则返回值类型为( )。

A. 实数型B. 实数指针型C. 函数指针型D. 数组型8.若用数组名作为函数调用的实参,传递给形参的是( )。

A. 数组的首地址B. 数组中第一个元素的值C. 数组中全部元素的值D. 数组元素的个数9. 假定a 为一个整型数组名,则元素a[4] 的地址比该数组的首地址大( ) 个字节。

A. 4B. 8C. 16D. 3210. 下列给字符数组赋初值时,正确的是( )。

A. char s1[]="abcdef";B. char s2[4]="abcd";C. char s3[2][3]={"abc","xyz"};D. char s4[4][]={'a','x','s','t'};A. char *p=s;B. char *p=&s;C. char *p;p=*s;D. char *p; p=&s;11.要使p 指向二维整型数组a[10][20] ,p 应定义为()。

C语言复习题A

C语言复习题A

C语言复习题一、选择题1.Turbo C 中float类型变量所字节数是_______ 。

A. 1B. 4C. 3D. 22. 可在C程序中作为用户标识符的一组是。

A. andB. DateC. HiD. case_2007 y-m-d Dr.Tom Bigl3. 以下选项中,合法的一组C语言数值常量是。

A. 028B. 12.C. .177D. 0x8A.5e-3 0xa23 4e1.5 10,000.0xf 4.5e1 0abc 3.e54.以下关于long、int和short类型数据占用内存大小的叙述中正确的是。

A. 均占4个字节B. 根据数据的大小来决定所占内存的字节数C. 由用户自己定义D. 由C语言编译系统决定5. 要表示年龄(age)在18至25之间,正确的表达式是。

A.18<=age<=25B.18<=age && age<=25C. 18<=age || age<=25D.18<=age and age<=256. 在C语言中,能代表逻辑值"真"的是_______。

A. 非0的数B. 大于0的数C. 非0整数D. true7.以下运算符中优先级最高的是_______。

A.!B. =C. +D. ||8.设a和b均为float型常量,且a=5.5、b=2.5,则表达式b/b+(int)a的值是______A. 6.500000B. 5.000000C. 5.500000D. 6.0000009. 可在C程序中作为用户标识符的一组是。

A. andB. DateC. HiD. case_2007 y-m-d Dr.Tom Bigl10. 以下选项中,合法的一组C语言数值常量是。

A. 028B. 12.C. .177D. 0x8A.5e-3 0xa23 4e1.5 10,000.0xf 4.5e1 0abc 3.e511. 以下关于long、int和short类型数据占用内存大小的叙述中正确的是。

C语言练习题及答案

C语言练习题及答案

综合强化练习一一、选择题(每题1分,共40分)1、以下叙述正确的是( )A)C语言总是从第一个定义的函数开始执行B)在C程序中,要调用的函数必须在main函数中定义C)C程序的执行总是从main函数开始执行的D)C程序中的main函数必须放在程序的开始部分2、下列合法的用户标识符为( )A)_4sum B) static C) 1max D) #dtotal3、ch为字符型变量,则下面赋值语句正确的为( )。

A)ch="ABC" B) ch="A" C) ch= a D) ch=674、C语言中整形常量有哪几种形式( )A) 十进制、八进制、十六进制B) 二进制、十进制、八进制、十六进制C) 二进制、八进制、十六进制D) 二进制、十进制5、字符串" China "在内存中占用的字节数是( )A) 1 B) 2 C) 5 D) 66、int x,y; x=7/2;y=7/2.0;则x的值为( )A) 3.500000 3D)3 37、下面程序int x=0x2B; printf("%d",x);的输出结果为( )A) 2B B) 0x2B C) 43 D) 448、实型常量用指数形式表示,下列哪一项不是合法的( )A)C)356e39、设有语句int a=3;则执行了语句a-= a+=a*a;后变量a的值是( )A)0 B)3 C) -9 D) -310、下列字符中,错误的转义字符是( )A)'\085' B) '\\' C) '\0' D) '\n '11、下面程序的输出结果是( )int a=2;if(a=5) a=a+2;printf("%d ",a);A) 2 B) 4 C) 5 D)712、下列程序段的循环次数是( )int k=0;while(k= =0) printf("%d",k);k--; printf ("\n");A) 无限次B) 0 次C) 1次D)2次13、下列说法正确的是( )A) 在循环体中可以用break语句结束本次循环B) 在循环体中可以用continue语句结束本次循环C) break语句仅能使用在switch结构中D) 可以使用continue语句跳出switch结构14、以下正确的函数形式是()。

C语言试题练习及答案(都是历年的考题)

C语言试题练习及答案(都是历年的考题)

C语言试题练习及答案(都是历年的考题)第一部分:选择题(40分,20小题/套)概述1、下面关于C语言的叙述中,正确的是()A. 每行只能写一条语句B. 程序中必须包含有输入语句C. main函数必须位于文件的开头D. 每条语句最后必须有一个分号 2、下面关于C语言的叙述中,错误的是() A. 若一条语句较长,也可分写在下一行上 B. 构成C语言源程序的基本单位是表达式 C. C语言源程序中大、小写字母是有区别的 D. 一个C语言源程序可由一个或多个函数组成 3、关于C语言数据类型的叙述,正确的是()A. 枚举类型不是基本类型B. 数组不是构造类型C. 变量必须先定义后使用D. 不允许使用空类型 4、C程序中main函数的位置()A. 必须在最开始B. 必须在系统库函数后面C. 可以在自定义函数后面D. 必须在最后 5、C语言的函数体由()括起来A. ( )B. { }C. [ ]D. /* */6、关于C语言的叙述中,不正确的是()A. C程序可由一个或多个函数组成B. C程序必须包含一个main()函数C. C程序的基本组成单位是函数D. 注释说明只能位于一条语句的后面 7、一个程序的执行是从()A. 本程序的第一个函数开始,到最后一个函数结束B. 本程序的main函数开始,到main函数结束C. 本程序的main函数开始,到最后一个函数结束D. 本程序的第一个函数开始,到main函数结束 8、结构化程序设计的三种基本结构是()A. 函数结构、分支结构、判断结构B. 函数结构、嵌套结构、平行结构C. 顺序结构、分支结构、循环结构D. 分支结构、循环结构、嵌套结构 9、调试程序是指对程序进行()A. 编辑B. 编译C. 查错和排错D. 连接10、C语言中,复合语句的构成是将一系列语句置于() A. begin与end之间B. 一对圆括号“()”之间C. 一对花括号“{ }”之间D. 一对方括号“[ ]”之间 11、构成C语言源程序的基本单位是() A. 语句 B. 过程 C. 表达式 D. 函数语法基础12、在C语言中,正确的用户标识符是() A. 3f B. _for C. structD. _f.5113、C语言的基本数据类型包括()A. 整型、实型、字符型B. 整型、实型、字符型、逻辑型C. 整型、字符型、逻辑型 D. 整型、实型、逻辑型 14、以下()是正确的常量A. E-5B. 1E5.1C. ?a12?D. 32766L 15、以下()是正确的变量名A. a.beeB. �Cp11C. intD. p_11 16、以下()是正确的字符常量A. “c”B. ?//”C. ?W?D. “\\32a” 17、以下()是不正确的字符串常量A. ?abc?B. “12?12”C. “0”D. “ “ 18、C语言的整型数据在内存中的存储形式是() A. 原码 B. 反码 C. 补码 D. ASCII码19、以下()是正确的浮点数A. e3B. .62C. 2e4.5D. 123 20、下列不属于C语言关键字的是()A. continueB. integerC. staticD. signed 21、C语言的字符型数据在内存中的存储形式是() A. 原码 B. 补码 C. 反码 D.ASCII 22、在C语言中,变量所分配的内存空间大小是() A. 由变量的类型决定B. 由用户自己决定C. 任意的D. 均为两个字节23、若有定义:int a=2;则正确的赋值表达式是()A. a-=(a*3)B. double(-1)C. a*3D. a*4=3 24、语句x=(a=3,b=++a);运行后,x、a、b的值依次为() A. 3,3,4 B. 4,4,3 C.4,4,4 D. 3,4,3 25、语句a=(3/4)+3%2;运行后,a的值为() A. 0 B. 1 C. 2 D. 326、以下四项中,符合C语言语法的语句是()A. int a+b=c;B. int a=12:b=12:c=12;C. int a=12,b=12,c=12;D. int a,b=12,float c=2127、若有定义:int x,a;则语句x=(a=3,a+1);运行后,x、a的值依次为() A.3,3 B. 4,4 C. 4,3 D. 3,428、若变量已正确定义并赋值,符合C语言语法的表达式是()A. a=8+b+c,a++B. a=3aC. int(12.3%4)D. a=a+1=c+b 29、若有定义:int a,b;double x;则以下不符合C语言语法的表达式是() A. x%(-3) B. a+=-1 C. a=b=2 D. x=a+b30、若有定义:int x=2,y=3;float i;则以下符合C语言语法的表达式是() A.x=x*3=2 B. x=(y==1) C. i=float(x) D. i%(-3) 31、若有定义:int x;则语句x=(2*3)+6%5;运行后,x的值是()A. 8B. 7C. 6D. 532、下面关于C语言变量的叙述中,错误的是()A. 可以用const关键字定义变量B. 在C程序中,SUM和sum是不同的变量C.变量名必须由字母或下划线组成 D. 变量的类型确定了变量的取值范围233、若有定义:int x=5,y=6;则表达式x=(y= =6)的值为() A. 5 B. 1C. 6D. 0 34、下面叙述正确的是()A. 2/3与2.0/3.0等价B. (int)2.0/3与2/3等价C. ++5与6等价D. ?A?与”A”等价 35、下面叙述中,错误的是()A. C语言基本的算术运算符不包含模运算符”%”B. 算术运算符的优先级高于关系运算符C. 自加和自减运算符的结合方向是”自右向左”D. C语言规定在表达式求值时,按其中运算符的优先级先高后低的次序进行 36、下面叙述正确的是()A. 强制类型转换运算的优先级高于算术运算B. 若a和b是整型变量,(a+b)++是合法的 C. ?A?*?B?是不合法的 D. “A”+”B”是合法的 37、若有定义:int i=1,j=5;则表达式(++j)*(i--)的值为() A. 1 B. 0 C. 6 D. 738、设整型变量a为5,使b不为2的表达式是()A. b=(++a)/3B. b=6-(--a)C. b=a%2D. b=a/239、若有定义:int a=1,b=2,c=3;则语句++a||++b&&++c;运行后b的值为() A. 1B. 0C. 2D. 340、若有定义:int i,j;则表达式(i=2,j=5,i++,i+j++)的值是() A. 7 B.8 C. 9 D. 1041、若有定义:int a,b;则表达式(a=2,b=5,a*2,b++,a+b)的值是() A. 7 B.8 C. 9 D. 1042、若有定义:int i=2,j=5;则表达式(i+1,j+1,(++i+(j--))的值为() A. 8B. 6C. 7D. 543、若已定义:int i=3,k;则语句k=(i--)+(i--);运行后k的值为() A. 4B. 5C. 6D. 744、C语言的运算符按运算对象的个数可以分为() A. 单目运算符一种 B.单目和双目运算符C. 单目、双目和三目运算符D. 单目、双目、三目和四目运算符45、若已定义:float m;拟从键盘输入135.78这一数据给变量m,则应选用的语句是()A. scanf(“%5.2f”,&m); B. scanf(“%3.2f”,&m);C. scanf(“6.2f”,&m);D. scanf(“o”,&m);46、已知double a;使用scanf()函数输入一个数值给变量a,正确的函数调用是()A. scanf(“%ld”,&a);B. scanf(“%lf”,&a);C. scanf(“%c”,&a);D. scanf(“%u”,&a);47、已知char a;使用scanf()函数输入一个字符给变量a,不正确的函数调用是()A. scanf(“%d”,&a);B. scanf(“%lf”,&a);C. scanf(“%c”,&a);D.scanf(“%u”,&a); 48、putchar()函数的功能是向终端输出()A. 多个字符B. 一个字符C. 一个实型变量值D. 一个整型变量表达式 49、以下程序段运行后的输出结果是() int k=11;printf(“k=%d,k=%o,k=%x\\n”,k,k,k);A. k=11,k=13,k=cB. k=11,k=12,k=133C. k=11,k=13,k=bD. k=11,k=13,k=a50、若有定义:int x=1234,y=123,z=12;则语句printf(“M+=+-”,x,y,z);运行后的输出结果为()A. 123412312B. 12341234123412341231231231212C. 1234+1234+1234D. 1234+123+12 51、已有如下定义和输入语句,int a;char c1,c2;scanf(“%d%c%c”,&a,&c1,&c2);若要求a、c1、c2的值分别为10、A和B,正确的数据输入是() A. 10AB B. 10 A B C. 10A B D. 10 AB 52、以下程序段的运行结果是()int a=0,b=0,c=0; if(a&&++b) c++;printf(“%d,%d\\n”,b,c);A. 0,0B. 1,2C. 2,2D. 1,0 53、以下程序的运行结果是()void main() {int a=65; char c=?A?;printf(“%x,%d”,b,c); }A. 65,aB. 41,aC. 65,65D. 41,6554、若已定义:int a=5;float b=63.72;以下语句中能输出正确值的是() A.printf(“%d%d”,a,b); B. printf(“%d/”,a,b); C. printf(“//”,a,b);D. printf(“/%d”,a,b); 55、运行以下程序段时编译出错,其原因是()char c1='8',c2='2021'; printf(\A. c2是字符变量,只能赋以字符常量,不能赋以字符串常量B. 字符串要用“2021“表示,而‘2021’不是字符串表示 C. ‘2021’只能赋值给字符数组 D. 字符变量不能用%d格式输出56、若已定义:int a=3,b=15,c;则语句c=a>b;运行后c的值为() A. 1 B.0 C. t D. f57、在C语言中,判定逻辑值为“真“的最正确的叙述是() A. 1 B. 非0的数 C. 大于0的数 D. 非0的整数 58、若已定义:int a=-36,b=-30,c;则语句c=a59、能正确表示数学关系式800>=y>=500的C语言表达式为() A. (y<=800)&&(y>=500) B. (y<=800)AND(y>=500) C. 800>=y>=500 D. (y<=800)&(y>=500) 60、若有定义:int x=3,y=4;则表达式!x||y的值为()4A. 1B. 0C. 3D. 4感谢您的阅读,祝您生活愉快。

C语言练习题(带答案)

C语言练习题(带答案)

一、单项选择题之五兆芳芳创作1.(A)是组成C语言程序的根本单位.A、函数B、进程C、子程序D、子例程2.C语言程序从C开始执行.A)程序中第一条可执行语句 B)程序中第一个函数C)程序中的main函数 D)包含文件中的第一个函数3、以下说法中正确的是(C).A、C语言程序总是从第一个定义的函数开始执行B、在C语言程序中,要调用的函数必须在main( )函数中定义C、C语言程序总是从main( )函数开始执行D、C语言程序中的main( )函数必须放在程序的开始部分4.下列关于C语言的说法错误的是(B ).A) C程序的任务进程是编辑、编译、连接、运行B) C语言不区分大小写.C) C程序的三种根本结构是顺序、选择、循环D) C程序从main函数开始执行5.下列正确的标识符是(C).A.-a1B.a[i]C.a2_iD.int t6.下列C语言用户标识符中正当的是( B).A)3ax B)x C)case D)-e2 E)union7.下列四组选项中,正确的C语言标识符是(C).A) %xB) a+b C)a123D)1238、下列四组字符串中都可以用作C语言程序中的标识符的是(A).A、print _3d db8 aBcB、I\am one_half start$it 3paiC、str_1 Cpp pow whileD、Pxq My->book line# His.age语言中的复杂数据类型包含(D).A、整型、实型、逻辑型B、整型、实型、逻辑型、字符型C、整型、字符型、逻辑型D、整型、实型、字符型10.在C语言程序中,表达式5%2的结果是C.A)2.5 B)2 C)1 D)311.如果int a=3,b=4;则条件表达式"a<b? a:b"的值是__A__.A) 3B) 4 C) 0D) 112.若int x=2,y=3,z=4 则表达式x<z?y:z的结果是(B).A)4 B)3 C)2 D)0 E)113.C语言中,关系表达式和逻辑表达式的值是(B).A)0 B)0或1C) 1 D)‘T’或’F’14. 下面( D )表达式的值为4.A)11/3 B)C) (float)11/3 D) (int)(11.0/3+0.5)15.设整型变量a=2,则执行下列语句后,浮点型变量b的值不为的是(B)A.b=1.0/aB.b=(float)(1/a)C.b=1/(float)aD.b=1/(a*1.0)16. 若“int n; float f=13.8;”,则执行“n=(int)f%3”后,n的值是(A)17. 以下对一维数组a的正确说明是:DA) char a(10);B) int a[];C)int k=5,a[k]; D)char a[3]={‘a’,’b’,’c’};18.以下能对一维数组a进行初始化的语句是: ( C )A. int a[5]=(0,1,2,3,4,)B. int a(5)={}C. int a[3]={0,1,2}D. int a{5}={10*1}19.在C语言中对一维整型数组的正确定义为D.A)int a(10); B)int n=10,a[n];C)int n;a[n]; D)#define N 10int a[N];20、已知:int a[10]; 则对a数组元素的正确引用是( D ).A、a[10]B、a[3.5]C、a(5)D、a[0]21.若有以下数组说明,则i=10;a[a[i]]元素数值是(B).int a[12]={1,4,7,10,2,5,8,11,3,6,9,12};22.若有说明:int a[][3]={{1,2,3},{4,5},{6,7}}; 则数组a的第一维的大小为: ( B )A. 2B. 3C. 4D.无确定值5 7 D) 36 923.对二维数组的正确定义是(C)A.int a[ ] [ ]={1,2,3,4,5,6};B.int a[2] [ ]={1,2,3,4,5,6};C.int a[ ] [3]={1,2,3,4,5,6};D.int a[2,3]={1,2,3,4,5,6}; 24.已知int a[3][4];则对数组元素引用正确的是__C___A)a[2][4] B)a[1,3] C)a[2][0] D)a(2)(1)语言中函数前往值的类型是由A决定的.A)函数定义时指定的类型 B) return语句中的表达式类型C) 调用该函数时的实参的数据类型 D) 形参的数据类型26. 在C语言中,函数的数据类型是指( A )A 函数前往值的数据类型 B. 函数形参的数据类型C 调用该函数时的实参的数据类型 D.任意指定的数据类型27. 在函数调用时,以下说法正确的是(B)A.函数调用后必须带回前往值B.实际参数和形式参数可以同名C.函数间的数据传递不成以使用全局变量D.主调函数和被调函数总是在同一个文件里28.在C语言中,暗示静态存储类此外关头字是: (C)A) auto B) register C) static D) extern29.未指定存储类此外变量,其隐含的存储类别为(A).A)auto B)static C)extern D)register30. 若有以下说明语句:struct student{ int num;char name[ ];float score;}stu;则下面的叙述不正确的是: ( D )A. struct是结构体类型的关头字B. struct student 是用户定义的结构体类型C. num, score都是结构体成员名D. stu是用户定义的结构体类型名31.若有以下说明语句:struct date{ int year;int month;int day;}brithday;则下面的叙述不正确的是__C___.A) struct是声明结构体类型时用的关头字B) struct date 是用户定义的结构体类型名C) brithday是用户定义的结构体类型名D) year,day 都是结构体成员名32.以下对结构变量stul中成员age的不法引用是Bstruct student{ int age;int num;}stu1,*p;p=&stu1;A) stu1.age B) student.age C) p->age D) (*p).age33.设有如下定义:struck sk{int a;float b;}data;int*p;若要使P指向data中的a域,正确的赋值语句是CA) p=&a;B) p=data.a;C) p=&data.a;D)*p=data.a;34.设有以下说明语句:typedef struct stu{ int a;float b;} stutype;则下面叙述中错误的是(D).A、struct是结构类型的关头字B、struct stu是用户定义的结构类型C、a和b都是结组成员名D、stutype是用户定义的结构体变量名35.语句int *p;说明了C.A)p是指向一维数组的指针B)p是指向函数的指针,该函数前往一int型数据C)p是指向int型数据的指针D)p是函数名,该函数前往一指向int型数据的指针36.下列不正确的定义是(A).A. int *p=&i,i;B.int *p,i;C.int i,*p=&i; D.int i,*p;37. 若有说明:int n=2,*p=&n,*q=p,则以下不法的赋值语句是: (D)A)p=q B)*p=*q C)n=*q D)p=n38.有语句:int a[10],;则B是对指针变量p的正确定义和初始化.A)int p=*a; B)int *p=a; C)int p=&a; D)int *p=&a;“int a[5],*p=a;”,则对数组元素的正确引用是( C ).A.a[p]B.p[a]C.*(p+2)D.p+240. 有如下程序int a[10]={1,2,3,4,5,6,7,8,9,10},*P=a;则数值为9的表达式是BA) *P+9 B) *(P+8) C) *P+=9 D) P+841.在C语言中,以D作为字符串结束标记A)’\n’ B)’’C) ’0’ D)’\0’42.下列数据中属于“字符串常量”的是(A).A.“a”B.{ABC}C.‘abc\0’D.‘a’43.已知char x[]="hello", y[]={'h','e','a','b','e'};, 则关于两个数组长度的正确描述是B .A)相同 B)x大于y C)x小于y D)以上答案都不合错误44. 下面各函数中能实现打开文件功效的是AA)fopen B) fgetcC) fputcD) fclose45. 下列语句中,把变量fp说明为一个文件型指针的是( A ) .A) FILE *fp; B) FILE fp;C) file *fp; D) file fp;46.以读写方法打开一个已有的文本文件file1,并且FILE *fp,下面fopen函数正确的调用方法是( B ).A.fp=fopen(“file1”,“r”)B.fp=fopen(“file1”,“r+”)C.fp=fopen(“file1”,“rb”)D.fp=fopen(“file1”,“w”)二、读程序根本输入输出及流程控制1.#include <stdio.h>main(){ int a=1,b=3,c=5;if (c==a+b)printf("yes\n");elseprintf("no\n");}运行结果为:no2.#include <stdio.h>main(){ int a=12, b= -34, c=56, min=0;min=a;if(min>b)min=b;if(min>c)min=c;printf("min=%d", min);}运行结果为:min=-343.#include <stdio.h>main(){ int x=2,y= -1,z=5;if(x<y)if(y<0)z=0;elsez=z+1;printf(“%d\n”,z);}运行结果为:54.#include <stdio.h>main(){ float a,b,c,t;a=3;b=7;c=1;if(a>b){t=a;a=b;b=t;}if(a>c){t=a;a=c;c=t;}if(b>c){t=b;b=c;c=t;}printf("%5.2f,%5.2f,%5.2f",a,b,c); }运行结果为:1.5.#include < stdio .h >main ( ){ float c=3.0 , d=4.0;if ( c>d ) c=5.0;elseif ( c==d ) c=6.0;else c=7.0;printf ( “%.1f\n”,c ) ;}运行结果为:6.#include <stdio.h>main(){int m;scanf("%d", &m);if (m >= 0){if (m%2 == 0)printf("%d is a positive even\n", m);elseprintf("%d is a positive odd\n", m);}else{if (m % 2 == 0) printf("%d is a negative even\n", m); else printf("%d is a negative odd\n", m);}}若键入-9,则运行结果为:-9 is a negative odd7.#include <stdio.h>main(){ int num=0;while(num<=2){ num++;printf("%d\n",num);}}运行结果为:1238.#include <stdio.h>main( ){ int sum=10,n=1;while(n<3){sum=sum-n; n++;}printf(“%d,%d”,n,sum);}运行结果为:3,79.#include <stdio.h>main(){ int num,c;scanf("%d",&num);do{c=num%10; printf("%d",c);}while((num/=10)>0);printf("\n");}从键盘输入23,则运行结果为:3210#include <stdio.h>main(){ int s=0,a=5,n;scanf("%d",&n);do{ s+=1; a=a-2; }while(a!=n);printf("%d,%d\n",s,a);}若输入的值1,运行结果为: 2,111.#include "stdio.h"main(){char c;c=getchar();while(c!='?') {putchar(c); c=getchar();} }如果从键盘输入abcde?fgh(回车)运行结果为:abcde12.#include <stdio.h>main(){ char c;while((c=getchar())!=’$’){ if(‘A’<=c&&c<=‘Z’) putchar(c);else if(‘a’<=c&&c<=‘z’) putchar(c-32); }}当输入为ab*AB%cd#CD$时,运行结果为:ABABCDCD 13.#include <stdio.h>main(){ int x, y =0;for(x=1;x<=10;x++){ if(y>=10)break;y=y+x;}printf(“%d %d”,y,x);}运行结果为:10 514.#include<stdio.h>main( ){ char ch;ch=getchar( );switch(ch){ case ‘A’ : printf(“%c”,’A’);case ‘B’ : printf(“%c”,’B’); break;default: printf(“%s\n”,”other”);} }当从键盘输入字母A时,运行结果为:AB 15.#include <stdio.h>main( ){ int a=1,b=0;scanf(“%d”,&a);switch(a){ case 1: b=1;break;case 2: b=2;break;default : b=10;}printf("%d ", b);}若键盘输入5,运行结果为:1016.#include <stdio.h>main()_{ char grade=’C’;switch(grade){ case ‘A’: printf(“90-100\n”);case ‘B’: printf(“80-90\n”);case ‘C’: printf(“70-80\n”);case ‘D’: printf(“60-70\n”); break;case ‘E’: printf(“<60\n”);default : printf(“error!\n”);}}运行结果为:70-8060-7017.#include <stdio.h>main(){ int y=9;for(;y>0;y- -)if(y%3==0){ printf(%d”,- -y);continue;}}运行结果为:85218.#include <stdio.h>main(){ int i,sum=0;i=1;do{sum=sum+i;i++;}while(i<=10); printf(“%d”,sum);}运行结果为:5519.#include <stdio.h>#define N 4main(){ int i;int x1=1,x2=2;printf("\n");for(i=1;i<=N;i++){ printf("%4d%4d",x1,x2);if(i%2==0)printf("\n");x1=x1+x2;x2=x2+x1;}}运行结果为:1 2 3 58 13 21 3420#include <stdio.h>main( ){ int x, y;for(x=30, y=0; x>=10, y<10; x--, y++) x/=2, y+=2;printf(“x=%d,y=%d\n”,x,y);}运行结果为:x=0,y=1221.#include <stdio.h>#define N 4main( ){ int i,j;for(i=1;i<=N;i++){ for(j=1;j<i;j++)printf(" ");printf("*");printf("\n");}}运行结果为:****数组1.#include <stdio.h>main(){ int i,a[10];for(i=9;i>=0;i--)a[i]=10-i;printf(“%d%d%d”,a[2],a[5],a[8]); }运行结果为:8522.#include <stdio.h>main(){int i,a[6];for (i=0; i<6; i++)a[i]=i;for (i=5; i>=0 ; i--)printf("%3d",a[i]);}运行结果为:5 4 3 2 1 03.#include <stdio.h>main( ){ int i,k,a[10],p[3];k=5;for(i=0;i<10;i++)a[i]=i;for(i=0;i<3;i++)p[i]=a[i*(i+1)];for(i=0;i<3;i++)k+=p[i]*2;printf("%d\n",k);}运行结果为:214.#include <stdio.h>int m[3][3]={{1},{2},{3}};int n[3][3]={1,2 ,3};main( ){ printf(“%d,”, m[1][0]+n[0][0]); printf(“%d\n”,m[0][1]+n[1][0]); }运行结果为:3,05.#include <stdio.h>main(){int i;int x[3][3]={1,2,3,4,5,6,7,8,9};for (i=1; i<3; i++)printf("%d",x[i][3-i]);}运行结果为:6 86.#include <stdio.h>main( ){ int n[3][3], i, j;for(i=0;i<3;i++ ){for(j=0;j<3;j++ ){n[i][j]=i+j;printf(“%d ”, n[i][j]);}printf(“\n”);}}运行结果为:0 1 21 2 32 3 47.#include <stdio.h>main(){char diamond[][5]={{‘_’,’_’,’*’},{‘_‘,’*’,’_’,’*’}, {‘*’,’_’,’_‘,’_‘,’*’},{‘_’,’*’,’_’,’*’},{‘_’,’_’,’*’}}; int i,j;for(i=0;i<5;i++){for(j=0;j<5;j++)printf(“%c”,diamond[i][j]);printf(“\n”);}}注:“_”代表一个空格.运行结果为:** ** ** **8.。

C语言章节练习题

C语言章节练习题

C程序设计基本概念1.编写C程序一般需经过的几个步骤依次是2.A编辑、调试、编译、连接3.B编辑、编译、连接、运行4. C 编译、调试、编辑、连接5.D编译、编辑、连接、运行6.以下叙述中正确的是AC语言比其他语言高级BC语言可以不用编译就能被计算机识别执行C C语言以接近英语国家的自然语言和数学语言作为语言的表达形式DC语言出现的最晚;具有其他语言的一切优点7.C语言中用于结构化程序设计的3种基本结构是A顺序结构、选择结构、循环结构Bif;switch;breakCfor;while;do-whileDif;for;continue8.以下叙述中正确的是A构成C程序的基本单位是函数B可以在一个函数中定义另一个函数Cmain函数必须放在其他函数之前D所有被调用的函数一定要在调用之前进行定义9.C语言规定;在一个源程序中;main函数的位置A必须在最开始B必须在系统调用的库函数的后面C可以任意D必须在最后10.以下叙述不正确的是A一个C源程序可由一个或多个函数组成B一个C程序必须包含一个main函数CC程序的基本组成单位是函数D在C程序中;注释说明只能位于一条语句的后面11.下列选项中不是结构化程序基本结构的是A顺序结构B跳转分支结构C选择结构D循环结构基本数据类型、常量和变量、操作符1.下列可用于C语言用户标识符的一组是Avoid; define; WORDB a3_b3; _123;CarCFor; -abc; IF CaseD2a; DO; sizeof2.C语言中基本数据类型包括A整型、实型、逻辑型B整型、实型、字符型C整型、字符型、逻辑型D字符型、实型、逻辑型3.下面哪些不是常量4.A067 B’x’ Cabc D”abc” E6.125.Fmax G0xab H3e5 I65535 J’\t’6.C语言中;常量23和3.14的数据类型为7.Aint和float8.Blong和float9.C int和double10.Dint和long double11.下面四个选项中;均是不正确的8进制数或16进制数的选项是A016 0x8f 018B0abc 017 0xaC010 -0x11 0x16D0a12 7ff -12312.下面四个选项中;均是合法整型常量的选项是A160 -0xffff 011B-0xcdf 01a 0xeC-01 986012 0668D-0x48a 2e5 0x13.下列数据中;不合法的C语言实型数据的是A0.123B123e3C2.1e3.5D789.0 14.若变量已正确定义并赋值;以下符合C语言语法的表达式是Aa:=b+1B a=b=c+2Cint 18.5%3Da=a+7=c+b15.C语言中运算对象必须是整型的运算符是A%=B/C=D<=16.若变量a;i已正确定义;且i已正确赋值;合法的语句是Aa==1B++i;C a=a++=5;Da=inti;17.若有定义:int a=7;float x=2.5;y=4.7;则表达式x+a%3intx+y%2/4的值是A2.500000B2.750000C3.500000D0.00000018.若x;i;j和k都是int型变量;则计算表达式x=i=4;j=16;k=32后;x的值为A4B16C32D5219.设有int x=11;则表达式x++1/3的值是A3B4C11D1220.设变量a是int型;f是float型;i是double型;则表达式10+a+if值的数据类型为Aint Bfloat C double D不确定21.设以下变量均为int类型;表达式的值不为7的是Ax=y=6;x+y;x+1Bx=y=6;x+y;y+1Cx=6;x+1;y=6;x+y D y=6;y+1;x=y;x+122.若变量a是int类型;并执行了语句:a=’A’+1.6;;则正确的叙述是Aa的值是字符CBa的值是浮点型C不允许字符型和浮点型相加Da的值是字符′A′的ASCII值加上123.以下选项中;与k=n++完全等价的表达式是A k=n;n=n+1Bn=n+1;k=nCk=++n Dk+=n+124.以下叙述正确的是A在C程序中;每行中只能写一条语句B若a是实型变量;C程序中允许赋值a=10;因此实型变量中允许存放整型数C在C程序中;无论是整数还是实数;都能被准确无误地表示D在C程序中;%是只能用于整数运算的运算符25.以下变量x;y;z均为double类型且已正确赋值;不能正确表示数学式子x÷y÷z的C语言表达式是Ax/yz Bx1/yzCx/y1/z D x/y/z26.不能进行++和--运算的数据类型为A指针B整型C长整型D常量标准输入输出1.若变量已正确说明为float型;要通过语句scanf"%f%f%f";&a;&b;&c;给a赋予10.0;b赋予22.0;c赋予33.0;下列不正确的输入形式是A10<回车>22<回车>33<回车>B10.0;22.0;33.0<回车>C10.0<回车>22.0 33.0<回车>D10 22<回车>33<回车>2.下列程序段的输出结果是:int a=1234;float b=123.456;double c=12345.54321;printf"%2d;%2.1f;%2.1f";a;b;c;A无输出B12;123.5;12345.5C1234;123.5;12345.5D1234;123.4;1234.53.下列程序运行的结果是main{float x;int i;x=3.6;i=intx;printf"x=%f;i=%d ";x;i;}A x=3.600000;i=3Bx=3.6;i=3Cx=3;i=3Dx=3.600000;i=3.000000。

C语言复习题A B C

C语言复习题A B C

C语言程序设计复习题A一、选择题((1)--(20)每个选项1分,(21)--(30)每个选项2分,共40分)(1)下列不正确的转义字符是A)'、、' B)'、“ C)'074' D)'、0'"(2)若有以下定义:char a;int b;float c;double d;则表达式a*bd--c值的类型为A)float B)int C)char D)double(3)表示关系x《=y《=z的c语言表达式为A)(X《=Y)&&(Y《=Z) B)(X《=Y)AND(Y《=Z)C)(X《=Y《=Z) D)(X《=Y)&(Y《=Z)(4)设a=1,b=2,c=3,d=4,则表达式:a《b?a:c《d?a:d的结果为A)4 B)3 C)2 D)1(5)设x为int型变量,则执行以下语句后,x的值为x=10;x=x--=x--x;A)10 B)20 C)40 D)30(6)下列可作为C语言赋值语句的是A)x=3,y=5 B)a=b=6 C)i--; D)y=int(x);(7)设x,y,z,t均为int型变量,则执行以下语句后,t的值为x=y=z=1;t=x||y&&z;A)不定值 B)2 C)1 D)0(8)设i是int型变量,f是float型变量,用下面的语句给这两个变量输入值:scanf("i=%d,f=%f",&i,&f);为了把100和765.12分别赋给i和f,则正确的输入为A)100765.12 B)i=100,f=765.12C)100765.12 D)x=100y=765.12(9)设x和y均为int型变量,则执行下的循环后,y值为for(y=1,x=1;y《=50;y){if(x=10))break;if (x%2==1){x=5;continue;}x--=3;}A)2 B)4 C)6 D)8(10)给出以下定义:char x[]="abcdefg";char y[]={'a','b','c','d','e','f','g'};则正确的叙述为A)数组X和数组Y等价 B)数组x和数组Y的长度相同C)数组X的长度大于数组Y的长度 D)数组X的长度小于数组Y的长度(11)以下叙述中不正确的是A)在不同的函数中可以使用相同名字的变量B)函数中的形式参数是局部变量C)在一个函数内定义的变量只在本函数范围内有效D)在一个函数内的复合语句中定义的变量在本函数范围内有效(12)假定a和b为int型变量,则执行以下语句后b的值为a=1;b=10;do{b--=a;a;}while (b--《0);A)9 B)--2 C)--1 D)8(13)设j为int型变量,则下面for循环语句的执行结果是for(j=10;j3;j--){if(j%3)j--;--j;--j;printf("%d ",j);}A)6 3 B)7 4 C)6 2 D)7 3(14)设有以下宏定义:#define N 3#define Y(n)((N1)*n)则执行语句:z=2 *(NY(51));后,z的值为A)出错 B)42 C)48 D)54(15)设P1和P2是指向同一个int型一维数组的指针变量,k为int型变量,则不能正确执行的语句是A)k=*P1*P2;B)p2=k;C)P1=P2;D)K=*P1 *(*P2);(16)设有如下定义:int arr[]={6,7,8,9,10};int *ptr;则下列程序段的输出结果为ptr=arr;*(ptr2)=2;printf ("%d,%d、n",*ptr,*(ptr2));A)8,10 B)6,8 C)7,9 D)6,10(17)以下程序的输出结果是main(){int i,k,a[10],p[3]:K=5;for (i=0;i《10;i)a[i]=i;for (i=0;i《3;i)p[i]=a[i*(i1)];for (i=0;i《3;i)k=p[i]*2;printf("%d、n",k);}A)20 B)21 C)22 D)23(18)执行以下程序段后,m的值为int a[2][3]={{1,2,3},{4,5,6}};int m,*p;p=&a[0][0];m=(*p)*(*(p2))*(*(p4));A)15 B)14 C)13 D)12(19)有以下程序段char arr[]="ABCDE";char *ptr;for(ptr=arr;ptr《arr5;ptr)printf("%s、n",ptr);输出结果是A)ABCD B)A C)E D)ABCDE(20)有以下程序main(){int x,i;or(i=1;i《=50;i){x=i;if(x%2==0)if(x%3==0)if(x%7==0)printf("%d,i);”}}输出结果是A)28 B)27 C)42 D)41(21)有下列程序#include《stdio.hmain(){union{int k;char i[2];}*s,a;s=&a;s--i[0]=0x39;s--i[1]=0x38;printf("%x、n",s--k);}输出结果是A)3839 B)3938 C)380039 D)390038(22)有以下程序#include 《stdio.hmain(){int a,b,c=246;a=c/100%9;b=(--1)&&(--1);printf("%d,%d、n",a,b);}输出结果是A)2,1 B)3,2 C)4,3 D)2,--1(23)设有如下定义:int (*ptr)*();则以下叙述中正确的是A)ptr是指向一维组数的指针变量B)ptr是指向int型数据的指针变量C)ptr是指向函数的指针,该函数返回一个int型数据D)ptr是一个函数名,该函数的返回值是指向int型数据的指针(24)有以下程序#include 《stdio.hstruct stu{int num;char name[10];int age;};void fun(struct stu *p){printf("%s、n",(*p)。

C语言练习题及参考答案

C语言练习题及参考答案

练习题1及参考答案1. 单项选择题(1)以下并非C语言的特点的是????? 。

A.? C语言简洁和紧凑B. 能够编制出功能复杂的程序C.? C语言可以直接对硬件进行操作D.? C语言移植性好【答】B(2)一个C程序的执行是从????? 。

A.? main()函数开始,直到main()函数结束B. 第一个函数开始,直到最后一个函数结束C. 第一个语句开始,直到最后一个语句结束D.? main()函数开始,直到最后一个函数结束【答】A(3)在C程序中,main()的位置????? 。

A. 必须作为第一个函数B. 必须作为最后一个函数C. 可以任意D. 必须放在它所调用的函数之后【答】C(4)一个C程序是由????? 。

A. 一个主程序和若干子程序组成B. 一个或多个函数组成C. 若干过程组成D. 若干子程序组成【答】B(5)下列说法正确的是????? 。

A. 在执行C程序时不是从main()函数开始的B.? C程序书写格式限制严格,一行内必须写一个语句C.? C程序书写格式比较自由,一个语句可以分行写在多行上D.? C程序书写格式严格要求一行内必须写一个语句,并要求行号【答】C2. 填空题(1)一个C源程序至少有?? ①?? 个main()函数和?? ②?? 个其他函数。

【答】①一? ②若干(2)任何C语句必须以????? 结束。

【答】分号(3)C语言源程序的基本单位是????? 。

【答】函数(4)C编译程序的功能是????? 。

【答】将C源程序编译成目标代码练习题2及参考答案1. 单项选择题(1)以下字符串为标识符的是????? 。

A. _MY????????? ??????B. 2_2222?????? ?????? ??????C. short?????? ?????? ??????D. LINE 5【答】A(2)下列符号可以作为变量名的是????? 。

A. +a????? ?????? ??????B. *p?????? ?????? ?????? ??????C. _DAY????? ?????? ??????D. next day【答】C(3)设c是字符变量,则以下表达式正确的是????? 。

C语言试题及答案A

C语言试题及答案A

绝密★启用前学院学年第二学期期末考试级 专业 《C 语言》试卷A一、单项选择题(本大题共15小题,每小题2分,共30分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。

错选、多选或未选均无分。

1、( )是构成C 语言程序的基本单位。

A 、函数B 、过程C 、子程序D 、子例程 2、以下说法中正确的是( )。

A 、C 语言程序总是从第一个定义的函数开始执行B 、在C 语言程序中,要调用的函数必须在main( )函数中定义 C、C 语言程序总是从main( )函数开始执行D 、C 语言程序中的main( )函数必须放在程序的开始部分 3、下列关于C 语言的说法错误的是( ) 。

A 、C 程序的工作过程是编辑、编译、连接、运行B 、C 语言不区分大小写。

C 、C 程序的三种基本结构是顺序、选择、循环D 、C 程序从main 函数开始执行4、下列正确的标识符是( )。

A 、-a1B 、a[i]C 、a2_iD 、int t 5、C 语言中的简单数据类型包括( )。

A 、整型、实型、逻辑型B 、整型、实型、逻辑型、字符型C 、整型、字符型、逻辑型D 、整型、实型、字符型 6、在C 语言程序中,表达式5%2的结果是( )。

A 、2.5 B 、2 C 、1 D 、37、如果int a=3,b=4;则条件表达式"a<b? a:b"的值是( )。

A 、3B 、4C 、0D 、1 8、C 语言中,关系表达式和逻辑表达式的值是( )。

A 、0B 、0或1C 、1D 、‘T’或’F’ 9、下面( )表达式的值为4.A 、11/3B 、11.0/3C 、(float)11/3D 、(int)(11.0/3+0.5)10、设整型变量 a=2,则执行下列语句后,浮点型变量b 的值不为0.5的是( )。

A 、b=1.0/aB 、b=(float)(1/a)C 、b=1/(float)aD 、b=1/(a*1.0) 11、在C 语言中对一维整型数组的正确定义为( )。

c语言程序设计模拟试题A

c语言程序设计模拟试题A

c语言程序设计模拟试题A专业班级学号姓名一、单选题(15分)1、若有定义:int a=8, b=5, c;执行语句c = a/b+0.4 ;后,c的值为()。

A) 1.4 B) 1 C) 2.0 D) 22 、以下程序中,while 循环的次数是()。

#include <stdio.h>void main(void){ int i = 0;while (i<10) {if (i<1) continue;if (i==5) break;i++;}}A) 1 B) 死循环,不能确定次数C) 6 D) 103、以下程序的输出结果是()。

#include <stdio.h>void main(void){ int a = 0, i;for (i=1; i<5; i++)v {switch (i) {case 0:case 3: a += 2;case 1:case 2: a += 3;default: a += 5;}}printf(“%d\n”, d);}A) 31 B) 13 C) 10 D) 204、执行以下程序段后的输出结果是()。

int x = 5;int m, n;n = (++x) + (++x);m = (x--) + (x--);printf(“%d %d\n”, m, n);A) 14 10 B) 13 13 C) 14 14 D) 14 125、执行以下程序后的输出结果是()#include <stdio.h>void main(void){int i = 0, j = 0, a = 6;if ((++i>0)||(++j>0)) a ++;printf(“i=%d, j=%d, a=%d\n”, i, j, a);}A) i=0, j=0, a=6 B) i=1, j=1, a=7 C) i=1, j=0, a=7 D) i=0, j=1, a=76、执行以下程序后的输出结果是()#include <stdio.h>void main(void){char a[]=”abc\0abc”;printf(“%s”, a);}A) abc\0abc B) abc\ C) abc\0 D) abc7、以下程序的输出结果是()#include <stdio.h>void main(void){int a = 1, b = 2, c = 3;printf(“%d”, c>b>a);}A) 2 B) 1 C) 0 D) 38、执行以下程序后,a的值为()。

C语言各章节复习题(带答案)

C语言各章节复习题(带答案)

一、C语言概述练习题选择1.一个C程序的执行是从。

A) 本程序的main函数开始,到main函数结束B) 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C) 本程序文件的第一个函数开始,到本程序main函数结束D) 本程序的main函数开始,到本程序文件的最后一个函数结束2.以下叙述不正确的是。

A) 一个C源程序必须包含一个main函数 B)一个C源程序可由一个或多个函数组成C) C程序的基本组成单位是函数 D) 在C程序中,注释说明只能位于一条语句的后面3.以下叙述正确的是。

A) 在对一个C程序进行编译的过程中,可发现注释中的拼写错误B) 在C程序中,main函数必须位于程序的最前面C) C语言本身没有输入输出语句 D) C程序的每行中只能写一条语句4.一个C语言程序是由。

A)一个主程序和若干个子程序组成 B) 函数组成 C) 若干过程组成 D) 若干子程序组成5.计算机高级语言程序的运行方法有编译执行和解释执行两种,以下叙述中正确的是。

A) C语言程序仅可以编译执行B) C语言程序仅可以解释执行C) C语言程序既可以编译执行又可以解释执行D) 以上说法都不对6.以下叙述中错误的是。

A) C语言的可执行程序是由一系列机器指令构成的B)用C语言编写的源程序不能直接在计算机上运行C)通过编译得到的二进制目标程序需要连接才可以运行D)在没有安装C语言集成开发环境的机器上不能运行C源程序生成的.exe 文件7.以下叙述正确的是。

A) C语言程序是由过程和函数组成的B) C语言函数可以嵌套调用,例如:fun(fun(x))C) C语言函数不可以单独编译 D) C语言中除了main函数,其他函数不可作为单独文件形式存在二、数据类型、运算符与表达式选择.1.若x、i、j、k都是int型变量,则计算下面表达式后,x的值为x=(i=4,j=16,k=32) A) 4 B) 16 C) 32D) 522.下列四组选项中,均不是C语言关键字的选项是。

C语言A试卷正文

C语言A试卷正文
6. C语言中最简单的数据类型包括。
A)整型,实型,逻辑型B)整型,实型,布尔型C)整型,实型,字符型D)整型,实型,指针型
7. C浯言中的构造类型包括。
A)数组型,结构体型,联合体型B)结构体型,联合体型,指针型
C)结构体型,联合体型,枚举类型D)数组型,结构体型,联合体型,指针型
8.若a是float型变量,则表达式a=l,a+1,a+=a的值为。
7.假设公民交纳个人所得税的税率如下(a代表个人收入,r代表税率):
0 (a<1000)
r=5% (1000<=a<2000)
r = r=10% ( 2000<=a<3000)
r=15% (3000<=a<4000)
r=20% (a>=4000)
以下程序要求从键盘上输入个人收入,根据以上的税率计算出应付的税金并输出。请
ch=(ch>='a'&&ch<='z')?(ch-32):ch
上面表达式的值是
A)'A'B)'a'C)'Z' D)'z'
5.下面程序的输出是
main()
{int a=-1,b=4,k;
k=(a++<=0)&&(!(b--<=0));
printf("%d%d%d\n",k,a,b);}
A)0 0 3 B)0 1 2C)1 0 3D)1 1 2
if(a=b+c)
if(a>0) b=c=a;
else if(a==0)a=b=c=0;
else a=b=c=1;

C语言程序设计期末试题A及答案

C语言程序设计期末试题A及答案

C语言程序设计期末试题A及答案C语言程序设计教程期末考试试卷(A卷)(考试时间90分钟,满分100分)一、选择题(本大题共20题,每题2 分,共40分)下面各题A.B.C.D四个选项中,只有一个选项是正确的,请将正确选项涂抹在答题卡相应的位置上,答在试卷上不得分。

1. 以下不是C语言的特点的是( )A. C语言简洁、紧凑B. 能够编制出功能复杂的程序C. C语言可以直接对硬件进行操作D. C语言移植性好2. 以下不正确的C语言标识符是( )A. ABCB. abcC. a_bcD. ab.c3. 一个C语言程序是由( )A. 一个主程序和若干子程序组成B. 函数组成C. 若干过程组成D. 若干子程序组成4. 一个算法应该具有“确定性”等5个特性,对另外4个特性的描述中错误的是( )A. 有零个或多个输入B. 有零个或多个输出C. 有穷性D. 可行性5. 设变量a是整型,f是实型,i是双精度型,则表达式10+‘a’+i*f值的数据类型为( )A. intB. floatC. doubleD. 不确定6. 在C语言中,char型数据在内存中的存储形式是( )A. 补码B.反码C.源码D.ASCII码7. 有如下程序,输入数据:12345M678<cR>后(表示回车),x的值是( ) 。

#includemain(){int x;float y;scanf("%3d%f",&x,&y);}A. 12345B. 123C. 45D. 3458. 若有以下定义int a,b; float x,则正确的赋值语句是( )A. a=1,b=2B. b++;C. a=b=5D. b=int(x);9. 以下程序的执行结果是( )#include{int i=10,j=10;printf("%d,%d\n",++i,j--);}A. 11,10B. 9,10C. 11,9D. 10,910. 已知字母A的ASCII码是65,以下程序的执行结果是( )#includemain(){char c1='A',c2='Y';printf("%d,%d\n",c1,c2);A. A,YB. 65,65C. 65,90D. 65,8911. 下列运算符中优先级最高的是( )A. <B. 十C. %D. !=12. 设x、y和z是int型变量,且x=3,y=4,z=5,则下面表达式中值为0是( ) 。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
A.单引号B.双引号C.圆括号D. #
3.下列符号中用来表示C语言中的回车换行的是( )。
A.\r B.\n C.\b D.\t
4.以下不能定义为用户标识符的是( )。
A.MAIN B._HJ C.2ong D.LINE1
5.被调函数通过( )语句,将值返回给主调函数。
A. if B. for C. while D. return
A. 4 B. 1 C. 2 D. 5
75.设有数组定义:char ch[]=student”,则数组ch所占的空间为()。
A. 5字节B. 6字节C. 7字节D. 8个字节
76.若有数组定义:int a[10],则()数组引用是合法的。
A. a[0] B. a(0) C. a[10] D.a(10)
A. int B. double C. floatD. char
54、C语言规定,调用一个函数时,实参变量和形参变量之间的数据传递是()。
A.地址传递B.由实参传给形参,并由形参返回给实参
C.值传递D.由用户指定传递方式
55、printf(“%d”,15/4);执行之后,输出结果是()。
A. 2B. 3C. 4D. 3.75
77.求标有/**/语句的执行次数()。
int a=0,i;
52、求标有/**/语句的执行次数()。。
int a=0,i;
for (i=0;i<20;i++)
{ if (i%5!=0) break;
a+=i; /**/
}
A. 0 B. 1 C. 20 D. 19
53、现有以下定义,int a;double b;float c;char k;则下面的表达式a*b+c/k值的类型是()。。
6.printf(“%d”,7%4);执行之后,输出结果是( )。
A. 2B. 3C. 4D. 1.75
7. C语言中形参的默认存储类别是( )。
A.自动auto B.静态static C.寄存器register D.外部extern
8.表达式1&&2&&3&&4的值为( )。
A.1B.2C.3D.4
A.整型,实型,逻辑型B.整型,实型,字符型
C.整型,字符型,逻辑型D.整型,实型,逻辑型,字符型
43. C语言中while和do—while循环的主要区别是( )。
A.do—while的循环体至少无条件执行一次
B.while的循环控制条件比do—while的循环控制条件严格
C.do—while允许从外部转到循环体内
63、字符串的结束标志是。
A. 0B. '0'C. '\0'D. "0"
64、复合语句是用括起来的语句组。
A. ( )B. [ ]C. { }D. < >
65、C语言程序的基本单位是()。
A.子程序B.程序C.函数D.过程
66、以下不正确的C语言标识符是( )。
A. ABC B. abc C. a_bc D. ab.c
A.9B.8C.0D.1
23.基本整型的数据类型符为( )。
A.intB.charC.floatD.double
24.在C语言中,printf和scanf函数均包含在头文件( )中。
A.stdio.hB.math.hC.string.hD.time.h
25. C语言程序的基本单位是()。
A.过程B.函数C.语句D.子程序
49. C语言规定:在一个源程序中,main函数的位置()。
A.必须在最开始B.必须在系统调用的库函数的后面
C.可以任意D.必须在最后
50. C语言程序的基本单位是()。。
A.函数B.过程C.子程序D.子例程
51.在下列字符串中,合法的标识符是()。。
A. p12&.aB. stud_100 C. water$12D. 88sum
w=1;x=2;y=3;z=4;
m=(w<x)?w:x;
m=(m<y)?m:y;则该程序段执行后,m的值是( )。
A.4 B.3 C.2 D.1
40.表达式:10!=9的值是( )。
A.trueB.非零值C.0D.1
41.下面合法的C语言字符常量是( )。
A.'\t' B."A" C.65 D.A
42. C语言的基本数据类型包括( )。
69.printf(“%d”,17/5);执行之后,输出结果是()。
A. 3.4B. 4C. 3.6D. 3
70.printf(“%d”,7%4);执行之后,输出结果是()。
A. 2B. 3C. 4D. 1.75
71.复合语句是用( )括起来的语句组。
A.( )B.{ }C.[ ]D.< >
72.在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是( )。
67. C语言允许函数值类型缺省定义,此时该函数值隐含的类型是( )。
A. float型B. int型C. long型D. double型
68. C语言规定,函数返回值的类型是由( )。
A. return语句中的表达式类型所决定
B.调用该函数时的主调函数类型所决定
C.调用该函数时系统临时决定
D.在定义该函数时所指定的函数类型决定
19.复合语句是用( )括起来的语句组。
A. ( ) B. [ ] C. { } D. < >
20.int a[4]={5,3,8,9};其中a[3]的值为( )。
A.5B.3C.8D.9
21.若有以下定义:float w[20];,则w数组元素的下标最大为( )。
A.20B.19C.21D.0
22.for(i=1;i<9;i+=1);该循环共执行了( )次。
11.设有数组定义:char ch[]=“student”,则数组ch所占的空间为( )。
A. 5字节B. 6字节C. 7字节D. 8个字节
12.数学比较表达式:5>x≥2对应的C语言逻辑表达式是( )。
A.5>x>=2B.5>x && x>2 && x=2C.x<5 && x>=2 D.x<5 || (x>2)
60、设有数组定义:char ch[]=“computer”,则数组ch所占的空间为()。
A.6字节B.7字节C.8字节D.9字节
61、在C语言中,若对函数类型未显式说明,则函数的隐含类型是类型。
A.voidB.doubleC.intD.char
62、在C语言中,每个语句必须以结束。
A.回车符B.冒号C.逗号D.分号
C. ('A'<=c)and ('Z'>=c) D. (c>= 'A')&&(c<= 'Z')
58、若x=0,y=3,z=3,以下表达式值为0的是()。
A.!xB.x<y?1:0C.x&&y&&zD.y=x||z/3
59、数学比较表达式:5>x≥2对应的C语言逻辑表达式是()。
A. 5>x>=2B. 5>x && x>2 && x=2C. x<5 && x>=2 D. x<5 || x>2
A.地址传递B.值传递
C.由实参传给形参,再由形参传回实参D.传递方式由用户指定
73.若x=0,y=3,z=3,以下表达式值为0的是( )。
A.!xB.x<y?1:0C.x&&y&&zD.y=x||z/3
74.若有定义:int a[][3]={1,2,3,4,5,6},则a[1][0]的值是( )。
56、在C语言中,以下正确的描述是()。
A.函数的定义可以嵌套,但函数的调用不可以嵌套
B.函数的定义不可以嵌套,但函数的调用可以嵌套
C.函数的定义和函数的调用均不可以嵌套
D.函数的定义和函数的调用均可以嵌套
57、若变量c为char类型,能正确判断出c为大写字母的表达式是()。
A. 'A'<=c<= 'Z' B. (c>= 'A')||(c<= 'Z')
13.若有定义:int a[][3]={1,2,3,4,5,6},则a[1][0]的值是( )。
A. 4 B. 1 C. 2 D. 5
14.以下函数调用语句中,含有实参的个数为( )。
fun(max(2,3),4);
A. 1 B. 2 C.3D.4
15.在C语言中,若对函数类型未另显示说明,则函数的隐含类型是( )类型。
9.若x=0,y=3,z=3,以下表达式值为0的是( )。
A.!xB.x<y?1:0C.x&&y&&zD.y=x||z/3
10.若变量c为char类型,能正确判断出c为小写字母的表达式是( )。
A. 'a'<=c<= 'z' B. (c>= 'a')||(c<= 'z')
C. ('a'<=c)and ('z'>=c) D. (c>= 'a')&&(c<= 'z')
D.do—while循环体不能是复合语句
44.单精度实数的数据类型符为( )。
相关文档
最新文档