文档库 最新最全的文档下载
当前位置:文档库 › c语言期末复习2015

c语言期末复习2015

c语言期末复习2015
c语言期末复习2015

C 语言程序设计练习题

1. 以下选项中不合法的用户标识符是 …………………………………………………………( A )

A .abc.c

B .file

C .Main

D .PRINTF 2. 以下选项中合法的用户标识符是 ……………………………………………………………( A ) A .m_a B .-2Test C .3Dmax

D .A.dat 3. 已知大写字母A 的ASCII 码值是65,小写字母a 的ASCII 码是97,则用八进制表示的字符

常量‘\101’是 …………………………………………………………………………………( A )

A .字符A

B .字符a

C .字符e

D .非法的常量 4. 与数学式子321x

x 对应的C 语言表达式是 ………………………………………………( C )

A .3*x/2*x-1

B .3x/(2x-1)

C .3*x/(2*x-1)

D .(3*x)/(2x-1)

5. 假设所有变量已经正确定义,下列选项中合法的表达式是 …………………………………( C )

A .(i++)--

B .int i%3

C .i++, i --

D .i++;

6. 若变量已正确定义并赋值,符合C 语言语法的表达式是 …………………………………( B )

A .a=a+7;

B .a=7+b+c, a++

C .int(12.3%4)

D .a=a+7=c+b

7. 以下能正确定义并赋初值的语句是 …………………………………………………………( B )

A .int n1=n2=10;

B .char c=32;

C .float f=f+1.1;

D .double x=12.3E2.5;

8. 若a 、b 、c 、d 都是int 型变量且初值为0,以下选项中不正确的赋值语句是 ………( C )

A .a=b=c=100;

B .d ++;

C .c+b ;

D .d= (c=22) - (b++);

9. 以下选项中,与k = n ++ 完全等价的表达式是 …………………………………………( B ) A .n=n+1,k=n B .k=n, n=n+1 C .k=++n

D .k+=n+1 10. 下面不正确的数组定义为 ………………………………………………………………………( B )

A .float a[][5];

B .double b[2][];

C .int a[]={0};

D .char s[]=”asf ”;

11. 下列选项中,可以正确定义数组并进行初始化的语句为 ……………………………………( C )

A .int a[]=”5,2,8,4”;

B .int a[2]={1,2,3};

C .int a[3]={1};

D .int a[];

12. 若有说明:int n=2,*p=&n,*q=p;,则以下非法的赋值语句是 ………………………………( D )

A .p=q ;

B .n=*p+*q ;

C .n=*p*(*q );

D .p=n ;

13. 若a 是int 型变量且初值为3,则计算表达式a+=a-=a*a 后a 的值为 ………………………( C )

A .-3

B .-6

C .-12

D .-24

14. C 语言中运算对象必需是整型数据的运算符是 ……………………………………………( A )

A .%

B ./

C .!

D .* 15. 下面不合法的八进制数是 ……………………………………………………………………( B ) A .0 B .028 C .077 D .01

16. 为表示关系 x ≥y ≥z ,应使用的C 语言表达式是 …………………………………………( B ) A .(x>=y)&&(y>=z) B .(x>=y)||(y>=z)

C .(x>=y>=z)

D .(x>=y)&(y>=z) 17. 若变量已正确定义,要将a 和b 中的数进行交换,下面选项中不正确的语句组是 ……………( C )

A .a=a+b ,b=a-b ,a=a-b ;

B .t=a ,a=b ,b=t ;

C .a=t ;t=b ;b=a ;

D .t=b ;b=a ;a=t ;

18. 下面不正确的数组定义为 ………………………………………………………………………( B )

A .float a[][5];

B .double b[2][];

C .int a[]={0};

D .char s[]=”asf ”;

19. 若已定义:int a[9],*p=a; 并在以后的语句中未改变p 的值,则不能表示a[1]地址的表达式是( C )

A .p+1

B .a+1

C .a++

D .++p

20. 以下能正确进行字符串赋值并初始化的语句组是 …………………………………………( B )

A .char x[4]={…a ?, …e ?, …f ?, …d ?};

B .char *x; x=”a efd ”;

C .char x[4]=”a efd ”;

D .char x[4]; x=”a efd ”;

21. 若要以先读后写的方式打开一个文本文件,则应选择的打开方式是 ………………………( B )

A .“r ”

B .“r+”

C .“w ”

D .“w+”

填空

22.转义字符是由_______符号开始的单个字符或若干字符组成的。(\)

23.若已知a=5, b=10,则表达式!a>b的值是______。(0)

24.若a是int型变量,且a=8,则表达式a%3+(a+1)%3的值为____ ____。(2)

25.若有“for(i=10;i<35;i++)…;”,则该循环的次数为________。(25)

26.与逻辑表达式! (x>0) 等价的关系表达式为________。(x<=0)

27.以下程序的输出结果是________。(-1)

#include “stdio.h”

void main()

{int x=2;

while(x--);

printf(“%d\n”,x);

}

28.以下程序段的输出结果是________。(20)

int i,j,m=0;

for(i=1;i<=15;i+=4)m++;

printf(“%d\n”,m);

29.若有定义int a[10],则该数组元素下标的上限是_____________。(9)

30.设有定义语句“int a[2][3]={{3},{2},{1}};”,则a[1][0]的值是____________。(2)

31.若k是int型变量初值为11,则计算表达式k++后变量k的值为________。(12)

32.若k是int型变量初值为11,则计算表达式k++后表达式的值为________。(11)

33.若a=5,b=8,则表达式!(x=a)||(y=b) && 0的值是________。(0)

34.C语言中的逻辑运算符分别是________。(||,&&,!)

35.若输入字符串uvwxyz↙,则循环while ((c=getchar( ))!=?x?) printf(“*”); 的执行次数为________。(3)36.C语言中,函数值类型的定义可以缺省,此时函数值的隐含类型是________。(int)

37.函数调用语句func((exp1,exp2),(exp3,exp4,exp5));含有的实参个数是__ ___。(2)

38.当函数中的形参和调用时的实参均为数组名时,传递方式为按_________传递。(地址)

39.若有定义int a[3][2]={1,2,3,4,5,6},(*p)[2]=a; 则*(*(p+1)+1)的值为________。(4)

40.若定义struct{int a,b;} x[3]={1,10,2,20,3,30},*p=x; 则(p+1)->b的值为__ ____。(20)

阅读程序

41.#include

void main()

{int a; float b,c;

scanf(“%2d%2f%4f”,&a,&b,&c);

printf(“%d,%3.2f,%f \n”,a,b,c);

}

运行时从键盘上输入1234567890↙。

42.#include

void main()

{int x=2,y=0,z=1;

if(x=y+z) printf(“YES”);

else printf(“NO”);

}

43.#include

void main()

{int x=10,y=20,t=0;

if(x==y)

t=x; x=y; y=t;

print f(“%d,%d \n”,x,y);

}

44.关于静态型局部变量的例题

45.#include

struct

{int n; char *c;} a[3]={2,“xy”,6,“uvw”,9,“st”},*p=a;

void main()

{printf("%s\n", (*++p).c);}

程序填空

46.下列程序段的功能是,统计1—100间能被5整除的数的个数并输出统计结果。

main()

{ int n,x;

_______________ /*计数器n设定初值 */

for(x=1;x<=100;x++)

if(_________) n++; /*条件:如果x能被5整除*/

printf(“%d”, n);

}

47.下列程序段的作用是,在自定义函数中将main函数中的N阶方阵转置(即行列互换),然后在main函数中输出该方阵。若原方阵为

1 2 3 1 4 7

4 5 6 转置后为 2 5 8

7 8 9 3 6 9

main()

{ int a[3][3]={1,2,3,4,5,6,7,8,9}, i, j;

fun (a);

for(i=0;i

{ for(j=0;j

printf("%6d",a[i][j]);

printf("\n");

}

}

int fun(_________) /*定义与二维整形数组数组名匹配的形参a*/

{int i,j,t;

for(i=0;i

for(j=0;_________;j++) /*沿下三角遍历二维数组*/

{t=a[i][j];a[i][j]=a[j][i];a[j][i]=t;}

}

读程答案 41. 12,34.00,5678.000000 42. YES 43. 20,0 44. 略 45. uvw

程序填空答案

46. n=0; x%5==0

47. int a[3][3] j

c语言期末复习试题(附答案)

试卷编号:11201 所属语言:C语言 试卷方案:C语言期末考试 试卷总分:100分 共有题型:4种 一、单项选择共30题(共计60分) 第1题(2.0分) 设有定义:int k=0;,以下选项的四个表达式中与其他三个表达式的值不相同的是( A ). A:k++ B:k+=1 C:++k D:k+1 第2题(2.0分) 已知int i=5,执行语句i+=++i后, i的值是( C). A:10 B:11 C:12 D:A、B、C都不对 第3题(2.0分) 以下程序的功能是:给r输入数据后,计算半径为r的圆面积s.程序在编译时出错. #include void main( ) /* Beginning */ { int r; float s; scanf("%d",&r); s=p*r*r; printf("s=%f\n",s); 出错的原因是(D ). A:注释语句书写位置错误 B:存放圆半径的变量r不应该定义为整型

C:输出语句中格式描述符非法 D:计算圆面积的赋值语句中使用了非法变量 第4题(2.0分) "\\\″ABC\″\\″的长度是( B ). A:11 B:7 C:5 D:3 第5题(2.0分) 已知int j,i=1;,执行语句j=–i++;后,j的值是( C ). A:1 B:2 C:-1 D:-2 第6题(2.0分) 有以下程序: #include void main( ) { int s=0, a=1, n; scanf("%d", &n); do{ s+=1; a=a–2; }while(a!=n); printf("%d\n", s); } 若要使程序的输出值为2,则应该从键盘输入给n的值是( B ). A:-1 B:-3

c语言期末测试题附答案

c语言期末测试题附答 案 集团标准化工作小组 #Q8QGGQT-GX8G08Q8-GNQGJ8-MHHGN#

课程代码:A100002 座位号: 《计算机技术基础(C 语言)》试卷A 姓名: 学号: 专业: 学院: 班级: 20 年 月 日 第一 部分 选择题(共 30 分) 一、单项选择题(本大题共 15 小题,每题只有一个正确答 案,答对一题得 2 分,共 30 分) 1、以下关于C 语言标识符的描述中,正确的是 【 】。 A )标 识符可以由汉字组成 B )标识符只能以字母开头 C )关键字可以作为用户标识符 D )Area 与area 是不同的标识符 2、使下列程序段输出“123,456,78”,键盘输入数据,正确的输入是【 】。 int i,j,k; scanf(“%d,%3d%d”,&i,&j,&k); printf(“%d,%d,%d \n”,i,j,k); 3、判断char 类型的变量c1是否为数字字符的正确表达式为 【 】。 A) (c1>=0)&&(c1<=9) B) (c1>=’0’)&&(c1<=’9’) C) ’0’<=c1<=’9’ D) (c1>=’0’)||(c1<=’9’) 4、若有语句int a=1,b=2,c=3;则以下值为0的表达式是 【 】。 A )’a’&&’b’ B )a<=b C )((a>b)||(b0;i--);后,变量i 的值为 【 】。 A )10 B )9 C )0 D )1 8、若有int *p1, *p2,k; 不正确的语句是 【 】 A. p1=&k B. p2=p1 C. *p1=k+12 D. k=p1+p2 9、在函数中未指定存储类别的局部变量,其隐含的存储类别是 【 】

C语言模拟试卷A

安徽农业大学经济技术学院 《C 语言程序设计》模拟试卷(A) 所有答案写在答题卡上,否则不得分 一、单项选择题(每题1分,共30分) 1.以下选项中叙述正确的是________。 A )C 语言程序总是从第一个定义的函数开执行 B )在 C 语言程序中,被调用的函数必须在main()函数中声明 C )C 语言程序总是从main()函数开始执行 D )C 语言程序中的main()函数必须放在程序的开始部分 2.C 语言程序的三种基本结构是顺序结构、选择结构和________结构。 A )循环 B )递归 C )转移 D )嵌套 3以下选项中不属于C 语言的基本数据类型的是________。 A )int B )double C )char D )bool 4.以下选项中正确的C 语言标示符是________。 A)2b B )x_1 C )a@b D)3#h 5.设C 语言中,一个int 型数据在内存中占2个字节,则unsigned int 型数据的取值范围为________。 A )0~255 B )0~32767 C )0~65535 D )0~2147483647 6.以下选项中,和语句k=n++;等价的是________。 A )k=n,n=n+1; B )n=n+1,k=n; C )k=++n; D )k=n+1; 7.已知:int i=3,j=2;,则执行语句j*=i+2;printf("%d",j);后,输出结果是________。 A )8 B )10 C )12 D )14 8.已知:int a=2,b=3,c;,执行语句c=(a=2,b=2);后,c 的值是________。 A )2 B )3 C )4 D )5 9.已知:int x,y;float z;,若要给变量x,y,z 输入数据,以下正确的输入语句是________。 A )scanf("%d,%d,%d",x,y,z); B )scanf("%d,%d,%f",&x;&y;&z); C )scanf("%d,%d,%f",&x,&y,&z ); D )scanf("%2d,%2d,%3.2d",x;y;z ); 10.华氏温度f 和摄氏温度c 的关系是)32(9 5-= f c 。已知:float c,f;,由华氏温度f 求摄氏温度c 的不正确的赋值表达式是________。 A )c=5/9(f-32) B )c=5.0/9*(f-32) C )c=5*(f-32)/9 D )c=(float)5/9*(f-32) 11.一个C 程序中要调用sqrt()函数时,应在程序中包含的头文件是________。 A )stdio.h B )math.h C )string.h D )stdlib.h 12.已知:char c='a';,则执行语句printf("%c",c-32);后输出结果是________。 A )A B )65 C )97 D )出错 13.能正确表示逻辑关系“a ≥5或a ≤-1”的C 语言表达式是________。 A )a>=5.or.a<=-1 B) a>=5.and.a<=-1 C) a>=5&&a<=-1 D )a>=5‖a<=-1

c语言期末考试及答案讲解

C语言考试模拟试卷 1.若有定义:char c;int d;程序运行时输入:c=1,d=2<回车>,能把字符1输入给变量c、整数2输入给变量d的输入语句是 A、scanf("c=%d d=%d",&c,&d); B、scanf("c=%c d=%d",&c,&d); C、scanf("c=%d,d=%d",&c,&d); D、scanf("c=%c,d=%d",&c,&d); 【答案】D 【解析】scanf()函数中,%d对应的参数是整数型地址,%c对应参数为char 型地址,C,A选项错误;如果输入地址有多个,应该用逗号隔开,B选项错误,故答案为D选项。 2.以下叙述错误的是 A、在进行模块化程序设计的时候,应首先完成每个模块的编写调试,再集中考虑主程序中的算法 B、同一程序各模块可由一组人员同时进行编写调试,可提高编写程序的效率 C、模块化的程序设计是采用自顶向下、逐步细化的原则 D、程序的每个模块都可通过三种基本结构实现 【答案】A 【解析】结构化程序设计把一个复杂问题的求解过程分阶段进行,需要保证自顶向下、逐步细化、模块化设计、结构化编码。进行模块化设计时,首先设计框架,并定义和调试好各个模块之间的输入输出关系,然后完成各个模块的编写调试后

再集中编译,模块化的程序设计采用自顶向下、逐步细化的原则,A选项叙述错误,C选项叙述正确。各个模块可以由不同人员同时进行编写调试,提高编写程序的效率,B选项叙述正确。结构化程序主要由3种基本控制结构组成,顺序结构、选择结构、循环结构,这三种基本结构可以解决任何复杂的问题,D选项叙述正确。故选择A选项。 3.设有定义:int a=0,b=1,c=1; 以下选项中,表达式值与其它三个不同的是 A、b=a==c B、a=b=c C、a=c==b D、c=a!=c 【答案】A 【解析】赋值运算结合性为由右向左结合,赋值运算符左值为变量,右值为变量或常量,且左右两边数据类型相同才能实现赋值。成功实现赋值后以左值为返回值。逻辑表达式成立则返回1,不成立返回0。A选项逻辑表达式a==c不成立(0),则 b=0,表达式值为0。B选项中将c赋值给b,b=1,再将b赋给a,a=1,表达式值为1。C选项逻辑表达式c==b成立(1),则a=1,表达式值为1。D选项逻辑表达式a!=c成立(1),则c=1,表达式值为1。A选项与其他选项不同,A选项正确。 4.设有两行定义语句:

c语言模拟试题

试卷编号:8156 所属语言:C语言 试卷方案:C语言201006模拟 试卷总分:100分 共有题型:5种 ━━━━━━━━━━━━━━━ 一、判断共10题(共计20分) ━━━━━━━━━━━━━━━ 第1题(2.0分)题号:1225 在给变量命名时,C语言区分大小写字母,即认为Name和name不是同一个变量. 答案:Y 第2题(2.0分)题号:1279 循环结构while、do while、for不可以互相嵌套. 答案:N 第3题(2.0分)题号:1140 链表中的任何一个结点,必然要包括一个指针域. 答案:Y 第4题(2.0分)题号:1265 在书写C程序时,一行内只能写一条语句,一条语句也不能写在多行上. 答案:N 第5题(2.0分)题号:1280 C语言程序中用到的所有变量必须在使用之前进行定义. 答案:Y 第6题(2.0分)题号:1269 若定义int a[4]={1,2,3,4};若超界引用a[4]则编译时不报错. 答案:Y 第7题(2.0分)题号:19 C语言本身不提供输入输出语句,输入和输出操作是由函数来 实现的。 答案:Y 第8题(2.0分)题号:11 通过return语句,函数可以带回一个或一个以上的返回值。 答案:N 第9题(2.0分)题号:24

对于数值型数组,C语言中只能逐个引用数组元素而不能一次引用整个数组。答案:Y 第10题(2.0分)题号:33 int i,*p=&i;是正确的C说明。 答案:Y ━━━━━━━━━━━━━━━━━ 二、单项选择共15题(共计30分) ━━━━━━━━━━━━━━━━━ 第1题(2.0分)题号:87 C语言源程序的基本单位是()。 A:过程 B:函数 C:子程序 D:标识符 答案:B 第2题(2.0分)题号:110 C语言中,char类型数据占()。 A:1个字节 B:2个字节 C:4个字节 D:8个字节 答案:A 第3题(2.0分)题号:112 下列程序的输出结果是()。 main() {char c1=97,c2=98; printf("%d %c",c1,c2); } A:97 98 B:97 b C:a 98 D:a b 答案:B 第4题(2.0分)题号:170 关于return语句,下列正确的说法是()。

c语言期末复习试题

试卷编号:11201 所属语言:试卷方案:试卷总分:共有题型:C 语言 C 语言期末考试100 分 4种 一、单项选择共30 题(共计60 分)第1 题设有定义分) :int k=0;, 以下选项的四个表达式中与其他三个表达式的值不相同的是( A ). A:k++ B:k+=1 C:++k D:k+1 分) 第2题 已知int i=5, 执行语句i+=++i 后, i 的值是( C). A:10 B:11 C:12 D:A、B、C都不对 第3题(分) 以下程序的功能是: 给r 输入数据后, 计算半径为r 的圆面积s. 程序在编译时出错. #include <> void main( ) /* Beginning */ { int r; float s; scanf("%d",&r); s=p*r*r; printf("s=%f\n",s); 出错的原因是(D ). A: 注释语句书写位置错误 B: 存放圆半径的变量r 不应该定义为整型

B:-3 C :输岀语句中格式描述符非法 D: 计算圆面积的赋值语句中使用了非法变量 A:1 B:2 C:-1 D:-2 第 6题 (分) 有以下程序 : #include <> void main( ) { int s=0, a=1, n; scanf("%d", &n); do{ s+=1; a=a — 2; }while (a!=n ); printf ("%d\n", s ); } 若要使程序的输岀值为 2, 则应该从键盘输入给 n 的值是 ( B ). A:-1 第 4题 (分) "ABC " 〃的长度是(B ). A:11 B:7 C:5 D:3 第 5题 (分) 已知 int j,i=1;, 执行语句j= - i++;后,j 的值是(C ).

C语言程序设计模拟试题1(附答案)

《C语言程序设计》模拟试卷一 一、单项选择题(每题2分,共30分) 1、下列有关C语言的叙述中错误的是()。 A) C语句必须以分号结束 B) 任何一个C程序中有且只有一个主函数 C) 复合语句在语法上可被看作一条语句 D) C程序中对数据的任何操作都可由运算符实现 2、以下不能定义为用户标识符的是()。 A) MAIN B) _HJ C) 2ong D) LINE1 3、下列符号中用来表示C语言中的回车换行的是()。 A) \r B) \n C) \b D) \t 4、如有如下定义:int a=1,则语句printf(“%d,%d”, a, ++a);的运行结果为()。 A) 1, 1 B) 1, 2 C) 2, 2 D) 2, 1 5、已知ch为字符型变量,下面表达式中正确的是()。 A) ch=’\xff ’B) ch=’\ff ’C) ch=’ ff ’D) ch=” ff ” 6、以下能正确定义一维数组的是()。 A) int a[5]={0,1,2,3,4,5}; B) int a[5]=”012345”; C) char a[ ]=”012345”; D) char a[5]={0,1,2,3,4,5}; 7、以下语句中能正确定义变量并赋初值的是()。 A) char c=65; B) float f=f+1.1; C) double x=12.3e3.6; D) int m=n=2.0; 8、在执行下列程序时输入:1357924,则程序的运行结果为()。 main( ) { int x, y; scanf(“%2d%2d”,&x,&y); printf(“%2d”,x*y); } A) 13 B) 1357 C) 74 D) 741 9、执行下列程序段后输出的结果是()。 x = 9; while (x > 7)

江苏大学大一c语言期末复习题汇总

选择题1.下列字符序列中,不可用作C语言标识符的是()。 A.abc123 B.C._123_ D._ok 2.请选出可用作C语言用户标识符的一组标识符()。 A.void B.a3_b3 C.For D.2a define _123 -abc DO WORD IF Case sizeof 3.不属于C语言关键字的是()。 A.int B.break C.while D.character 4.以下不能定义为用户标示符的是()。 A.scanf B.Void C._3com_ D.int 5.C语言程序的基本单位是()。 A.程序行B.语句C.函数D.字符 6.以下说法中正确的是()。 A.C语言程序总是从第一个定义的函数开始执行 B.在C语言程序中,要调用的函数必须在main( )函数中定义 C.C语言程序总是从main( )函数开始执行 D.C语言程序中的main( )函数必须放在程序的开始部分 7.以下选项中,合法的用户标识符是()。 A.long B._2abc C.3dmax D. 8.已知大写字母A的ASCII码值是65,小写字母a的ASCII码是97,则用八进制表示 的字符常量’\101’是()。 A.字符A B.字符a C.字符c D.非法的常量 9.以下选项中,正确的字符常量是()。 A.”F”B.’\\’’C.’W’D.’’ 10.下列变量定义中合法的是 A.short _a=; B.double b=1+; C.long do=0xfdaL; D.float 2_and=1-e-3; 11.为了避免嵌套的if-else语句的二义性,C语言规定else总是与()组成配对关系。 A.缩排位置相同的if B.在其之前未配对的if C.在其之前未配对的最近的if D.同一行上的if 12.下列运算符中优先级最高的是()。 A.< B.&& C.+ D.!= 13.判断char型变量s是否为小写字母的正确表达式是()。 A.’a’ <= s<=’z’B.(s>=’a’) & (s<=’z’) C.(s>=’a’) && (s<=’z’) D.(’a’<=s) and (’z’>=s)

大学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.-a1 B.a[i] C.a2_i D.int t 5~8题为相同类型题 考点:标识符的命名规则 (1)只能由字母、数字、下划线构成 (2)数字不能作为标识符的开头 (3)关键字不能作为标识符 选项A中的“-”,选项B中“[”与“]”不满足(1);选项D中的int为关键字,不满足(3) 6.下列C语言用户标识符中合法的是( B)。 A)3ax B)x C)case D)-e2 E)union 选项A中的标识符以数字开头不满足(2);选项C,E均为为关键字,不满足(3);选项D中的“-”不满足(1); 7.下列四组选项中,正确的C语言标识符是(C)。 A) %x B) a+b C) a123 D) 123 选项A中的“%”,选项B中“+”不满足(1);选项D中的标识符以数字开头不满足(2) 8、下列四组字符串中都可以用作C语言程序中的标识符的是(A)。 A、print _3d db8 aBc B、I\am one_half start$it 3pai

C语言期末复习题

第一单元程序设计和C语言 一、选择题 1.C语言的基本构成单位是: A 。 A. 函数 B. 函数和过程 C. 超文本过程 D. 子程序 2.一个C语言程序总是从 B 开始执行。 A. 主过程 B. 主函数 C. 子程序 D.主程序 3.C语言的程序一行写不下时,可以。 A. 用逗号换行 B. 用分号换行 C. 在任意一空格处换行 D. 用回车符换行 4.以下叙述不正确的是: C 。 A. 在C程序中,语句之间必须要用分号";"分隔 B. 若a是实型变量,C程序中a=10是正确的,因为实型变量中允许存放整型数 C. 在C程序中,无论是整数还是实数都能正确无误地表示 D. 在C程序中,%是只能用于整数运算的运算符 5.以下不正确的C语言标识符是 D 。 A. ABC B. abc C. a_bc D. ab.c 6.下列字符串是标识符的是: A 。 A. _HJ B. 9_student C. long D. LINE 1 7.以下说法中正确的是: C 。 A. C语言程序总是从第一个定义的函数开始执行 B. 在C语言程序中,要调用的函数必须放在main()函数中定义 C. C语言程序总是从main()函数开始执行 D. C语言程序中的main()函数必须放在程序的开始部分 8.不合法的常量是: D 。 A. ...\2? B. "" C. ...3? D. (483) 9.已知各变量的类型说明如下,则以下不符合C语言语法的表达式是: A 。 int k,a,b; unsigned long w=5; double x=1.422; A. x%(-3) B. w+=-2 C. k=(a=2,b=3,a+b) D. a+=a=+(b=4)*(a=3) 10.在C语言中,字符型数据在内存中以 D 形式存放。 A. 原码 B. BCD码 C. 反码 D. ASCII码 11.若有定义:int a=7; float x=2.5; y=4.7; 则表达式x+a%3*(int)(x+y)%2/4的值是: A 。 A. 2.500000 B. 2.750000 C. 3.500000 D. 0.000000 12.设有说明:char w; int x; float y; double z;

C语言期末考试试题及答案

个人收集整理-仅供参考 2008-2009学年第一学期期末考试试卷 考试说明:本课程为闭卷考试,可携带书写与修正文具,满分为:100 分. 考试结束后请将后页答题卡与试卷分开上交 ..... 一、单选题<每题2分,共30分) 1.以下叙述正确地是 ______ . A)C程序地每行只能写一条语句 B>语言本身没有输入输出语句 C)在C程序中,注释说明只能位于一条语句地后面 D)在多函数地程序中,main函数必须放在其它子函数地定义之前 2.以下不正确地常量表示形式是 ______ . A> 0.45 B>0XF5 C>‘\85’D> 32.67E-5 3. 以下不正确地变量名是 ______ . A)R&B B> _max C>INT D> SUM3 4. 以下正确地一组语句是 ________. A> int x=y=5; B> int n; scanf("%d",&n>;int a[n]; C> char a,*p; p=&a; D> char s[10]; s="hello"; 5. 若以下变量均已正确定义和赋值,则正确地语句是 ________. A> a=b==5; B> y=x%2.0; C> x+y=10; D> n=8=2*4; 6.下面各组中与给出地程序段功能不等价地是 ________. if(a>0> b=1; else if(a==0> b=0; else b=-1; A>if(a>0> b=1; B>if(a>0> b=1; C>if(a>0> b=1; D>if(a>=0> if(a==0> b=0; else if(a==0> b=0; if(a>0> b=1; if(a<0> b=-1; if(a<0> b=-1; else b=-1; if(a==0> b=0; else b=0; if(a<0> b=-1; 7. 运行下面程序段,若输入abc#,则程序输出是:________. char c;int v1=0,v2=0; while((c=getchar(>>!='#'> { switch(c> { case 'a':v1++; default :v1++;v2++; case 'c':v2++; } } printf("v1=%d,v2=%d\n",v1,v2>; A>2,2 B>3,5 C> 3,4 D>2,5

(完整word版)C语言期末模拟试题

一、选择题:(20分,每题2分) 1.以下不正确的C语言标识符是(D)。 A. ABC B. abc C. a_bc D. ab.c 2.C程序是由B构成的。 A. 主程序与子程序 B. 主函数与若干子函数 C. 一个主函数与一个其它函数 D. 主函数与子函数 3.以下说法中正确的是:A。 A. 在C语言中,实参与其对应的形参各占独立的存储单元; B.在C语言中,实参与其对应的形参共占同一个存储单元; C.在C语言中,只有当实参与其对应的形参同名时,才共占同一个存储单 元; D. 在C语言中,形参是虚拟的,不占存储单元。 4.设n=3;则n++的结果是(B)。 A. 2 B. 3 C. 4 D. 5 5.设整型变量n=10,i=4,则赋值运算n%=i+1执行后,n的值是(A)。 A. 0 B. 1 C. 2 D. 3 6.凡是函数中未指定存储类别的局部变量其隐含的存储类别是(A)。 A. 自动(auto) B. 静态(static) C. 外部(extern) D. 寄存器(register)7.在while(x)语句中的x与下面条件表达式等价的是:D。 A. x= =0 B. x= =1 C. x!=1 D. x!=0 8.若有以下说明和语句: struct worker { int no; char *name; }work, *p=&work; 则以下引用方法不正确的是(D)。 A. work.no B. (*p).no C. p->no D. work->no

9.以下对二维数组进行正确初始化的是(B)。 A.int a[2][3]={{1,2},{3,4},{5,6}}; B.int a[][3]={1,2,3,4,5,6}; C.int a[2][]={1,2,3,4,5,6}; D.int a[2][]={{1,2},{3,4}}; 10.二维数组a有m列,则在a[i][j]之前的元素个数为:B。 A)j*m+i B)i*m+j C)i*m+j-1 D) i*m+j+1 二、给出下列程序的运行结果:(20分,前四题每题3分,后两题每题4分) 1.#include main() { int i=16,j,x=6; j=i+++1; x*=i=j; printf(“%d,%d\n”,j,x); } 运行结果是: 2.#include #include main() { int a=1,b=4,c=2; float x=10.5,y=4.0,z; z=(a+b)/c+sqrt((double)y)*1.2/c+x; printf(“%f\n”,z);

c语言期末复习试卷

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━试卷编号:12626 所属语言:Turbo C 所属方案:c语言模拟 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━〖第1题〗『判断』(1分)(题号:6) 在程序中定义了一个结构体类型后,可以多次用它来定义具有该类型的变量。 答案:Y 〖第2题〗『判断』(1分)(题号:22) 关系运算符<= 与 == 的优先级相同。 答案:N 〖第3题〗『判断』(1分)(题号:15) 整数 -32100可以赋值给int型和long int型变量。 答案:Y 〖第4题〗『判断』(1分)(题号:8) 在C语言中,整型数据在内存中占2个字节。 答案:N 〖第5题〗『判断』(1分)(题号:19) C语言本身不提供输入输出语句,输入和输出操作是由函数来实现的。 答案:Y 〖第6题〗『判断』(1分)(题号:27) char c[]="Very Good"; 是一个合法的为字符串数组赋值的语句。 答案:Y 〖第7题〗『判断』(1分)(题号:13) char *p="girl";的含义是定义字符型指针变量p,p的值是字符串"girl"。 答案:N 〖第8题〗『判断』(1分)(题号:12) 结构体类型只有一种。 答案:N

〖第9题〗『判断』(1分)(题号:2) 若有定义和语句: int a;char c;float f;scanf("%d,%c,%f",&a,&c,&f); 若通过键盘输入: 10,A,12.5,则a=10,c='A',f=12.5. 答案:Y 〖第10题〗『判断』(1分)(题号:34) 7&3+12的值是15。 答案:N 〖第1题〗『单项选择』(2分)(题号:201) 当定义一个结构体变量时,系统分配给它的内存是()。 A:各成员所需内存量的总和 B:结构中第一个成员所需内存量 C:结构中最后一个成员所需内存量 D:成员中占内存量最大者所需的容量 答案:A 〖第2题〗『单项选择』(2分)(题号:638) 设有数组定义: char array [ ]="China"; 则数组 array所占的空间为()。 A:4个字节 B:5个字节 C:6个字节 D:7个字节 答案:C 〖第3题〗『单项选择』(2分)(题号:735) fgetc函数的作用是从指定文件读入一个字符,该文件的打开方式必须是()。 A:只写 B:追加 C:读或读写 D:答案B和C都正确 答案:C

C语言期末考试复习题及答案

C语言期末考试复习题及答案 一、选择题:下列各题A)、B)、C)、D)四个选项中只有一个是正 确的,请将正确的选项涂写在答案纸上。答在试卷上不得分。 (1)C语言规定:在一个源程序中,main函数的位置 D 。 A)必须在最后B)必须在系统调用的库函数的后面。 C)必须在最开始。。D)可以任意 (2) C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符 A 。 A)必须为字母或下划线。。B)必须为下划线。 C)必须为字母D)可以是字母、数字和下划线中的任一种字符。 (3)下面四个选项中,均是正确的八进制数或十六进制数的选项是 B 。 A)-10 0x8f -011 B) 010 -0x11 0xf1 C) 0abc -017 0xc D) 0a12 -0x123 -0xa (4) C语言中int型数据在内存中占两个字节,则unsegned int取值范围是 A 。 A)0 ~ 65535 B)0 ~ 32767 C)-32767 ~ 32768 D)-32768 ~ 327687 (5) 若有定义:int a = 7; floa x = , y = ; 则表达式x + a % 3 * (int) (x + y) % 2/4 的值是 D 。 A) B) 0.00000 C) D) (6)已知ch是字符型变量,下面不正确的赋值语句是 B 。 A)ch = 5 + 9 ; B) ch= ' a + b '; C) ch = ' \ 0 '; D) ch= '7' + '6' ; (7) 设x , y和z是int型变量,且x = 3, y = 4 , z = 5 则下面表达式中值为0的

C语言期末考试全部知识点复习

C语言知识点复习资料 考试就是难得得训练自己得机会,在特定得时间、特定得地点、特定得气氛下,您需要调动各方面得能力。而在每一次考试中,我都下意识地应用自己摸索出来得“目标控制法”,做到了每次考试有有收获与进步。每次考试前,我都会在一张白纸上写满通过本次考试要达到得目标:要注意克服哪些易犯得错误,尤其就是要克服前几次考试中暴露出来得共性得失误;要积累哪些经验,应用哪些技巧,比如选择题中得特征值法;要在多长得时间内完成卷面各部分,比如,争取35分钟内完成数学试卷中得选择题与填空题;要培养锻炼哪些考试应试得心理素质等。 也就就是说,我们要把考试瞧成就是一个完整得流程,包括考前准备、考场发挥与考后调整三个阶段。同学中存在得误区往往就是只注意考前得准备与考场得发挥两个阶段,对考后调整注意不够。事实上,高考之前得每一次模拟考试,最重要得就就是考试后得总结与反思,只有这样,才能认识到自己得薄弱环节,不断提高考试能力。所以,有心得同学一定要注意做好健全得考后调整,不断提高自己得实力。 总体上必须清楚得: 1.程序中基本得控制结构就是三种: 顺序结构、选择结构(分支结构)、循环结构。 2.读程序都要从main()入口, 然后从最上面顺序往下读(碰到循环做循环,碰到选择做选择),有且只有一个main函数。 3.计算机得数据在电脑中保存就是以二进制得形式、数据存放得位置就就是它得地址、 4.bit就是位就是指为0 或者1。 byte 就是指字节, 一个字节 = 八个位、5、编译预处理不就是C语言得一部分,不占运行时间,不要加分号。(常考!) #define PI 3、1415926; 这个写法就是错误得,一定不能出现分号。 6、每个C语言程序中main函数就是有且只有一个。 7、用C语言编写得程序称为源程序,扩展名就是、c。C程序必须经过编辑、 编译、链接、运行四个步骤才可得到运行结果。注意、c与、obj文件时无法运行得,只有、exe文件才可以运行。(常考!) 8、 C语言书写格式就是自由得,每行可以写多个语句,一条语句也可以写在多行。 9、一个C语言程序有且只有一个main函数,就是程序运行得起点。

2019年C语言期末考试题及答案

的一个)。, 求最小值出现的位置(如果最小值1、给定n个数据例如:输入的数组为:求出第一次出现的位置即可)。出现多次, 1 2 3 4 1 5 6 12 18 9k+1i<=n最大值第三行五行 10 11 2的值并输出。计算公式为:2、编写程序求无理数e e=1+1/1!+1/2!+1/3!+......+1/n! 求出的最大数为18,行坐标为2,列坐标为1。。当1/n!<0.000001时e=2.718282 7、求一个n位自然数的各位数字的积。(n 是小于10的 自然数)求一批数中最大值和最小值的积。3、 2、某一正数的值保留位小数,对第三位进行四舍48、计算n门课程的平均值,计算结果作为函数值返回。五入。例如:若有5门课程的成绩是:92,76,69,58,88,

则函数的值为76.599998。 x,5、从键盘上输入任意实数求出其所对应的函数值。 z=(x-4)的二次幂(x>4) 9、求一批数中小于平均值的数的个数。 z=x的八次幂(x>-4) z=z=4/(x*(x+1))(x>-10)z=|x|+20(其他) M×N求出、6整型数组的最大元素及其所在的行坐标10、编写函数判断一个整数m的各位数字之和能否被7整除,及列坐标(如果最大元素不唯一,选择位置在最前面 0。调用该函数找出可以被7整除则返回1,否则返回 100~200之间满足条件的所有数。 15、实现两个整数的交换。 例如:给a和b分别输入:60和65,输入为:a=65 b=60 void fun(int tt[M][N],int pp[N]),11、请编一个函数16、将字符串中的小写字母转换为对应的大写字母, N列的二维数组,求出二维数组每列M tt指向一个行其它字符不变。

c语言模拟考试题2

1. 以下的不是C语言标识符是(C)。 A)abc1_B)_abc1C)5BC1_D)Abc1 2. 结构化程序设计的基本结构不包括(A) A)从上到下的结构B)选择结构C)循环结构D)顺序结构 3. C程序的基本单位是(A)。 A)函数B)过程C)语句D)子程序 4. 以下选项中(C)是的C语言赋值语句。 A)x=3,y=5B)a=b=6C)i--;D)y=int(x); 5. 设有如下定义:int a=1,b=2,c=3,d=4,m=2,n=2;则执行表达式:(m=a>b)&&(n=c>d)后,n的值为(B)。 A)1B)2C)3D)0 6. 设整型变量x的值为5,y的值为2,则值为1的表达式是(D)。 A)!(y==x/2)B)Y!=x%3C)X>0&&y<0D)X!=y||x>=y 7. 假设整型变量a为2,使b的值为0的表达式是(C)。 A)b=a/2B)b=6-(--a)C)b=a%2D)b=a>3?0:1 8. 设int x=3,y=4,z=5;则下面表达式中值为0的是(D)。 A)x&&y B)x<=y C)x||y+z&&y-z D)!((x 1.2 根据定义和数据的输入方式,输入函数调用语句的形式为() A)scanf("%lf%lf",&d,&f) B)scanf("%f%f",&d,&f) C)scanf("3.2f%3.1f",&d,&f) D)scanf("%3.2lf%3.1lf",&d,&f) 18. 下面程序的输出是()。 #include void main() {int x=10,y=3; printf(“%d\n”,y=x/y); } (A)0(B)1(C)3(D)不确定的值 19. 下面程序运行情况是()。 #include void main() {int x=3,y=0,z=0; if(x=y+z) printf(“****”); else printf(“####”); } (A)有语法错0不能通过编译(B)输出**** (C)可以通过编译,但不能通过连接,因而不能运行(D)输出#### 20. 以下程序的输出结果是()。 #include main() {int i=10,j=10; printf("%d,%d",--i,j--); } (A)11,10(B)9,10(C)010,9(D)10,9 21. 为了避免嵌套的if-else语句的二义性,C语言规定else总是与(C)组成配对关系。 (A)缩排位置相同的if(B)在其之前未配对的if

湖南工业大学C语言期末考试复习题(机房题库)

C语言期末考试复习题(机房题库) 2、下列各选项中,合法的c语言关键字是( )。 A. integex B. sin C. string D. void参考答案: D 3、C语言的程序一行写不下时,应该( )。 A. 用回车符换行 B. 在任意一个空格处换行 C. 用分号换行 D. 用逗号换行答案: B 4、以下选项中正确的整型常量是( )。 A. 34.1 B. -80 C. 2,000 D. 1 2 3参考答案: B 5、在C程序中,可以作为用户标识符的一组标识符是( )。 A. void define WORD B. as_b3 _224 Else C. switch _wel ease D. 4b DO SIG答案: B 8、以下叙述不正确的是( ) A. 一个c源程序可由一个或多个函数组成 B. 一个C源程序必须包含一个main()函数 C. c程序的基本组成单位是函数 D. 在C程序中,注释说明只能位于一条语句的后面答案: D 9、C语言规定:在一个源程序中,main()函数的位置( ) A. 必须在最开始 B. 必须在系统调用的库函数的后面 C. 可以任意 D. 必须在最后参考答案: C 10、在C语言中,数字029是一个() A. 八进制数 B. 十六进制数 C. 十进制数 D. 非法数参考答案: D 12、C语言可执行程序的开始执行点是( ) A. 程序中的一条可执行语句 B. 程序中第一个函数 C. 程序中的main函数 D. 包含文件中的第一个函数参考答案: C 13、C程序是( ) A. 顺序执行 B. 从Main函数开始 C. 从函数体开始 D. 任意语句参考答案: B 16、以下说法中正确的是( )。 A. C语言程序中是从第一定义的函数开始执行 B. 在C语言程序中,要调用的函数必须在main()函数中定义 C. C语言程序总是从main()函数开始执行 D. C语言程序中的main()函数必须放在程序的开始部分参考答案: C 17、一个C程序的执行是从( ) A. 本程序的main函数开始,到main函数结束 B. 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C. 本程序的main函数开始,到本程序文件的最后一个函数结束 D. 本程序文件的第一个函数开始,到本程序main函数结束参考答案: A 18、以下叙述正确的是( ) A. 在C程序中,main函数必须位于程序的最前面 B. C程序的每行中只能写一条语句 C. C语言本身没有输入输出语句 D. 在对一个C程序进行编译的过程中,可发现注释中的拼写错误答案: C 1、C源程序的基本单位是___函数__

大一c语言期末试题及参考答案word版本

2004级信息学院《C语言设计》考试试题 一、判断下列语句或程序的对错。 10分√ 1 int x=y=z=’0’; (×) y,z没有定义 2 #include ; (×)不能有分号,#开头的结尾均不能有分号; 3 printf(“%s\n”,”c language”); (√) 4 float a[100]; int *p=a; (×)数据类型不匹配 5 char str[20]; 6 int data[4]={0,1,2,3,4}; (×)五个元素,但是只有四个单元 7 float x=1.45e+310L; (×)数值越界 8 int xyz-1=2; (×) 9 int x=‘\xae’ ; (√) 10 int *p,a[2][3] ; p=a ; (×)数据类型不匹配 二计算下列表达式的值 10分 设 unsigned int a=10,b=17,c=5,d=3; float f ; (1)f=b/c ( 3.0 ) (2)!(a+b)+c-1&&b+c/2 ( 1 ) (3)(a^b)+(c>>1+d) ( 0x1b ) (4)a+=b%=a=b ( 17 ) (5)a=2,b=a*++b ( 2 ) 三程序改错 10分 (1)求两个浮点数的平方和及平方差 #include float calculate (float x,float y,float *sub);添加函数原型声明 main () { float a,b; float add_reasult, sub_result; scanf (“%f,%f”,a,b); add_result=calculate(a,b,&sub_result); printf( “a*a+b*b=%d,a*a-b*b=%d\n”,add_result,sub_result); } float calculate (float x,float y,float *sub) 添加函数类型 { float *temp; 应该直接定义为变量float temp; sub=a*a-b*b ; *sub=a*a-b*b;

相关文档