c语言期末复习试卷

c语言期末复习试卷
c语言期末复习试卷

复习题(一)

1. 用高级语言编写的源程序必须通过___________程序翻译成二进制程序才能执行,这个二进制程序称为____________程序。

【答案】编译目标

2.下列符号串中,属于C语言合法标识符的是()

①else ②a-2 ③_00 ④00

【答案】③

3.下列说法中,正确的是()

①主函数名是由程序设计人员按照“标识符”的规则选取的

②分号和回车符号都可以作为一个语句的结束符号

③在程序清单的任何地方都可以插入一个或多个空格符号

④程序的执行,总是从源程序清单的第1行开始

【答案】③

4.-12345E-3代表的十进制实数是________________________。

【答案】- 12.345

5.设字符型变量ch中存放字符“A”,则执行“ch+++2”后,ch中的字符是________。【答案】B

6.设字符型变量ch1中存放的字符是“A”,字符型变量ch2中存放的字符是“B”,则执行“!(ch1='B')&&(ch2='C')”的运算后,变量ch2中的字符是_____________。

【答案】B

6-1.设整型变量m,n,a,b,c,d均为1,执行“( m=a>b)&&(n=a>b)"后m,n的值是()

①0,0 ②0,l ③1,0 ④1 ,l

【答案】②。

7.设整型变量x1和x2的值均为10,则表达式“x1/=x2-4”的值是_______________。【答案】l

8.在C语言中,如果某个关系表达式成立(真),则该关系表达式的值是____;如果某个逻辑表达式为假,则该逻辑表达式的值是_________。

【答案】1 0

9.设有整型变量x,如果表达式“!x”值为0,则x的值为_________;如果表达式“!x”值为1,则x的值为___________。

【答案】非0

10.下列表达式中,不属于逗号表达式的是()

①a=b,c ②a,b=c ③a=(b,c) ④a,(b=c)

【答案】③

11.在三种选择结构中,能用2个条件,控制从3个操作中选择一个操作执行的选择结构是______选择结构

【答案】多分支

12.在三种循环结构中,先执行循环操作内容(即循环体),后判断控制循环条件的循环结构是______循环结构。

【答案】直到型

13.使用“getchar( )”函数时,程序的开头必须写一条包含命令为____________。

【答案】#include"stdio.h"或#include<stdio.h>

14.执行输入语句“scanf("x=%c,y=%d",&x,&y);”,要使字符型变量X的值为'A'、整型变量y的值为12,则从键盘上正确的输入是( )

①'A'/ ②A/ ③x=A/ ④x=A,y=12/

12/ 12/ y=12/

说明:备选答案中的"/"表示回车换行键

【答案】④

15.下列各种选择结构的问题中,最适合用if-else语句来解决的是( )

①控制单个操作做或不做的问题

②控制两个操作中选取一个操作执行的问题

③控制三个操作中选取一个操作执行的问题

④控制10个操作中选取一个操作执行的问题

【答案】②

16.下列程序是输入一个小写字母,转换成对应大写字母的后一个字母输出。例如:'a'将转换成’B’、…、‘y’将转换成’Z’,其中的’Z’将转换成’A’。请填写程序中所缺少的语句。

main()

{char ch ;

scanf(“%c”,&ch);

ch=ch-32+1;

___________________;

printf("%c\n",ch);

}

【答案】if(ch=='Z'+l)ch='A';

17.三种循环语句都能解决循环次数已经确定的次数型循环,其中_______循环语句最适合。【答案】for

18.执行下列程序段后的输出是()

x=l;

while(x<=3) x++,y=x+++x;

printf("%d,%d",x,y);

①6,10 ②5,8 ③4,6 ④3,4

【答案】②

19.下列程序段的输出结果是()

for( i=0;i<1;i+=l)

for( j=2;j> 0;j--)

printf("*");

①** ②*** ③**** ④******

【答案】①

20.执行下列程序段后的输出是________________。

x=0;

while(x<3)

for(;x<4;x++)

{

printf(”%1d”,x++);

if( x<3) continue;

else break;

printf(”%1d”,x);

}

【答案】02

21.阅读下列程序,写出程序运行后的输出结果。

main( )

{int x=18,i;

for(i=2;i<9;i十十)

if(x%i==0)

{ printf(”%1d”,i);

x=x/i--;

if(x==0)break;

}

}

【答案】233

22.下列程序的主要功能是求出所有3位整数中能被8整除余7,或者被7整除余8的所有整数。请填写程序中缺少的语句成份。

main()

{ int k=100;

do if(__________________)

prinif("%d\n",k);

while(k++<999);

}

【答案】(k%8==7)||(k%7==8)

23.阅读下面列序,写出程序的主要功能。

main()

{int y;

float x;

scanf("%f",&x);

if(x<-10) y=l;

else if(x>10) y=3;

else y=2;

printf("%d\n",y);

}

这是标准的三分支结构,用嵌套的双分支语句实现 1 x<-10 【答案】输入实数x,按照下列公式计算并输出y值:y= 2 -10<=x<=10

3 x>10

24.编写一个程序,统计并输出能被3整除或能被5整除或能被7整数的所有3位整数。【答案】main()

{ int n;

for(n=100;n<1000;n++)

if((n%3==0)||(n%5==0)||(n%7==0))

printf(”%d”,n);

}

25.编写一个程序,依次输入5个学生的7门课程的成绩,每输入一个学生的7门课程成绩后,立即统计并输出该学生的总分和平均分。

【答案】main()

{ int i,j;

float sum,x;

for(i=l;i<6;i++)

{ sum=0.0;

for (j=l;j<8;j++)

{scanf(”%f”,&x);

sum+=x;

}

printf("NO%d--sum=%f ave=%f\n",i,sum,sum/7);

}

复习题(二)

一、选择题

1.逻辑运算符两侧运算对象的数据类型( D )

(A) 只能是0或1

(B) 只能是0或非0正数

(C) 只能是整型或字符型数据

(D) 可以是整型或字符型数据

2.以下关于运算符优先顺序的描述中正确的是( C )

(A) 关系运算符<算术运算符<赋值运算符<逻辑与运算符

(B) 逻辑与运算符<关系运算符<算术运算符<赋值运算符

(C) 赋值运算符<逻辑与运算符<关系运算符<算术运算符

(D) 算术运算符<关系运算符<赋值运算符<逻辑与运算符

3.判断char型变量ch是否为大写字母的正确表达式 ( C ) (A) 'A'<=ch<='Z' (B) (ch>='A')&(ch<='Z')

(C) (ch>='A')&&(ch<='Z') (D) ('A'<=ch)AND('Z'>=ch)

4.设x,y和z是int型变量,且x=1,y=2,z=3,则下面表达式中值为0的是

( D )

(A) x&&y (B) x<=y

(C) x||y+z&&y-z (D) !((x

5.下面程序段的运行结果为 ( A )

a=1,b=2,c=2;

while(a

printf("%d,%d,%d",a,b,c);

(A) 1,2,0 (B) 2,1,0

(C) 1,2,1 (D) 2,1,1

6.设有以下语句:

int x=3;

do

{

printf("%d\n",x-=2);

}

while(!(--x));

该程序段的执行结果为: ( B )

(A) 显示1 (B) 显示1和-2 (C) 显示0 (D) 是死循环

7.下面有关for循环的正确描述是 ( D )

(A) for循环只能用于循环次数已经确定的情况

(B) for是先执行循环体语句,后判断表达式

(C) 在for循环中,不能用break语句跳出循环体

(D) for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来

二、填空题

1.C语言提供的三种逻辑运算符是( && )、( || )、( ! )。

2.当m=3、n=4、a=5、b=1、c=2时,执行完d=(m=a!=b)&&(n=b>c)后,n的值为( 0 ),m 的值为( 1 )。

3.有int x,y,z;且x=4,y=-5,z=6,则以下表达式的值为( 1 )。

!(x>y)+(y!=z)||(x+y)&&(y-z)

4.设定义 int k=1,n=263;执行下面程序段后,k的值是( 36 )。

do

{

k*=n%10;

n/=10;

}

while(n);

5.C语言中while和do-while循环的主要区别是( do-while循环体至少执行一次,while 循环体有可能一次也不执行 )。

三、读程序,写结果

1.main( )

{

int a,b,d=123;

a=d/100%9;

b=(-2)&&8;

printf("%d,%d",a,b);

}

2.

main( )

{

int k=2,a=4,b=5,c=1,z;

z= k>a?k:c>b?c:a;

printf("a=%d\n",z);

}

3.main( )

{

int a=56,x=-9,y=10,ok1=109,ok2=0;

if(x

if(y!=10)

if(!ok1)

a=10;

else

if(ok2)

a=-5;

a=-100; printf("%d\n",a); }

4.main( )

{

int x=3,y=0;

switch (x)

{

case 3:

switch(y)

{

case 0:printf("$$$$$\n");

case 9:printf("$$$$$\n");break;

}

case 2: printf("$$$$$\n");

}

}

5.main()

{

int x=0,y=0;

while(x<12)

{y++;x+=++y;}

printf("x=%d\ny=%d",x,y);

}

6.main( )

{

int a=1,b=10;

do

{

b-=a;

a++;

}

while(b--<0);

printf("a=%d,b=%d\n",a,b);

}

7.main( )

{

int i;

for(i=1;i<=5;i++)

{

if(i%2)

printf("$");

else Array continue;

printf("&&");

}

printf("*\n");

}

8.main( )

{

int i,j,a=0;

for(i=0;i<2;i++)

{

for(j=0;j<4;j++)

{

if(j%2)

break;

}

a++;

}

printf("%d\n",a);

}

四、编程题

1.给一个百分制成绩,要求输出等级'A'、'B'、'C'、'D'、'E'。90分以上为'A',80~90分为'B',70~79分为'C',60分以下为'D'。

#include

main()

{ float score;

char grade;

printf("请输入学生成绩:");

scanf("%f",&score);

while(score>100||(score<0)

{ printf("\n输入有误,请重新输入:");

scanf("%f",&score);

}

switch((int)(score/10))

{ case 10:

case 9: grade='A';break;

case 8: grade='B';break;

case 7: grade='C';break;

case 6: grade='D';break;

case 5:

case 4:

case 3:

case 2:

case 1:

case 0: grade='E';

}

printf("成绩是%5.1f,相应的等级是%c。\n",score,grade);

}

说明:对输入的数据进行检查,如小于0或大于100,要求重新输入。(int)(score/10)的作用是将(score/10) 的值进行强制类型转换,得到一个整型值。

2.打印出所有"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该本身。例如:153是一个水仙花数,因为153=1^3+5^3+3^3。

#include"math.h"

main()

{int x=100,a,b,c;

while(x>=100&&x<1000)

{a=0.01*x;

b=10*(0.01*x-a);

c=x-100*a-10*b;

if(x==(pow(a,3)+pow(b,3)+pow(c,3)))

printf("%5d",x);x++;

}

}

#include"stdio.h"

main()

{int x=100,a,b,c;

while(x>=100&&x<1000)

{a=x/100;

b=(x/10)%10;

c=x%10;

if(x==a*a*a+b*b*b+c*c*c)

printf("%5d",x);x++;

}

}

3.求,(即求1!+2!+3!+4!+5!+…+20!)

main()

{float s=0,t=1;

int n;

for(n=1;n<=20;n++)

{t=t*n;

s=s+t;

}

printf("1!+2!+…+20!=%e\n",s); }

4.打印以下图案

#include"math.h"

main()

{int i,j,k;

for(i=0;i<=3;i++)

{for(j=0;j<=2-i;j++)

printf(" ");

for(k=0;k<=2*i;k++)

printf("*");

printf("\n");

}

for(i=0;i<=2;i++)

{for(j=0;j<=i;j++)

printf(" ");

for(k=0;k<=4-2*i;k++)

printf("*");

printf("\n");

}

}

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语言期末复习题汇总

选择题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语言期末复习试题

试卷编号: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语言期末复习卷习题

C语言期末复习卷习题 Prepared on 24 November 2020

期末总复习(基础知识+程序设计部分) 一.填空 1.已知charch=’A’;则下列表达式的值是:a Ch=(ch>=’A’&&ch<=’Z’)(ch+32):ch; 2.若x=1,y=2,z=3,则表达式z+=++x+y++之值是7 3.若x=2,y=3,则x%=y+3之值为2 4..若有定义inty=3;floatz=,x=;则表达式y+=(int)x+x+z的值为17 5.设x,y,z为int型变量,且x=3,y=-4,z=5,请写出下列各表达式的值 1)(x&&y)==(x||z)1 2)!(x>y)+(y!=z)||(x+y)&&(y-z)0 3)x++-y+(++z)13 6.设x,y,z为int型变量,请用C语言表达式描述下列命题 1)x和y中有一个小于z(xz||x>z&&y=0||z<0&&y<0&&x>=0||y<0&&x<0&&z>=0)==1 3)y是奇数y%2!=0 7.下面for循环语句最多可执行4次 For(x=0,y=0;(y!=99)&&(x<4);x++) 8.设i,j,k均为int型变量,则执行以下for语句后,k的值是10 for(i=0,j=10;i<=j;i++,j--) k=i+j; 9.若已知x,y,z,m,n均为int型变量,则执行下面语句后,x的值为7y的值为9z的值为7 m=10;n=5; x=(--m==n++)--m:++n;

y=m++; z=n; 10.若有说明语句:w=1,x=2,y=3,z=4;则表达式w>xw:z>yz:x值是4 11.若定义的函数没有返回值时,则应该在该函数定义时加上类型说明符void 12.凡在函数中未指定存储类型的变量,其隐含的存储类别为动态存储 13.在C语言中,一个函数直接或间接地调用自身,编构成函数的递归 14.如果被调用的自定义函数和调用函数不再同一个文件中,则在应以函数的文件中应将该文件的存储类型定义成型,在调用函数的文件中将该函数说明为型。 15.对于所定义的二维数组a[2][3],元素a[1][2]是数组的第6个元素。N*j+m+1 16.若有定义:char*str=”Iamastudent.”;则字符串在存储单元中占16个字节。 17.在执行inta[][3]={{1,2},{3,4}};语句后,a[1][2]的值是0。 18.调用strlen(“abc\0ef\0g”)的返回值是3。\0为停止符 19.设有定义:chars[12]=“string”;则printf(“%d\n”,strlen(s));的输出值是6 20.执行下列程序段后,*p等于3 inta[5]={1,3,5,7,9};*p=a;p++; 二.判断(trueorfalse) 1.调用函数时,实参的类型、个数和顺序与函数定义时形参的类型、个数和顺 序完全一致。T 2.函数可以嵌套定义F 3.函数必须有返回值,否则不能正确作用F 4.C程序中有调用关系的所有函数必须放在同一源程序文件中。F 5.全局变量与函数体内定义的局部变量重名时,局部变量不起作用。F

浙江大学C语言总复习题--综合

综合练习 一、判断题 1.在Trubo_C中运行一个C程序时,实际上是运行后缀为.EXE的可执行文件。2.在C语言中整数可用十进制数、八进制数和二进制数三种数制表示。 3.在程序的运行过程中,整型常量的值是可以改变的。 4. C程序中,用/* 和 */界定的部分称之为注释,注释部分对程序的运行不起作用。5.大括弧 { } 只能用来括复合语句。 6. do_while语句构成的循环不能用其它循环语句来代替。 7.不能用scanf 函数输入字符。 8.在 C 程序中,函数的定义不可以嵌套,但函数的调用可以嵌套。 9. 一个变量的作用域取决于变量定义语句在程序中出现的位置。 10.C 语言的一个编译预处理命令用 # 开始,最后加分号。 11. C语言源程序文件经过编译、连接之后生成一个后缀为.EXE的文件。 12. C语言中以 %o开头的数是八进制整数。 13.在程序的运行过程中,符号常量的值是可以改变的。 14.在 C 程序中,APH 和 aph 代表不同的变量。 15.一个复合语句在语法上被认为是一条语句。 16. 只能用while语句构成循环。 17.不能用printf函数输出字符。 18. C程序中各函数之间既允许直接递归调用也允许间接递归调用。 19. 在函数外部定义的变量称为全局变量。 20.宏定义的命令行可以看作是一条C 语句。 21. C语言源程序是可以用来直接运行的程序。 22. C语言中以 %x 开头的数是十六进制整数。 23. C程序中定义的变量,代表内存中的一个存储单元。 24.在 C 程序中,9ab是非法的用户标识符。 25. C语句必须用一个分号作为结束。 26. do_while语句构成的循环不能用break语句退出。 27. scanf 函数是 c 语言的标准输入函数。 28. C程序的main函数不能有参数。 29. 在函数内部定义的变量称为局部变量。 30.用#include包含的头文件的后缀必须是.h。 31. C 语言程序的三种基本结构是顺序结构、选择结构和循环结构。 32.在C语言中整数只能表示为十进制数的形式。 33.在 C 程序中,无论多少大的整数还是实数,都能准确无误的表示。 34. Turbo-C 语言中,字符类型数据占1个字节。 35.空语句是合法的C语句。 36. while语句的循环体不能是复合语句。 37. printf 函数是 c 语言的标准输出函数。 38. C程序的main函数可以有参数,但参数不能是指针类型。 39.在 main函数中定义的变量称为全局变量。 40.#include 和 #define 不是 C 语句。 41. C 语言程序的三种基本结构是嵌套结构、选择结构和循环结构。 42. C语言中 018是合法的八进制整数。 43. C程序中所要用到的变量应该先定义,后使用。 44.十六进制数0x11的十进制数是17。 45.赋值语句是一种可执行语句。

C语言期末复习卷习题

期末总复习(基础知识+程序设计部分) 一.填空 1.已知char ch=’A’; 则下列表达式的值是: a Ch=(ch>=’A’ && ch<=’Z’)? (ch+32):ch; 2. 若x=1,y=2,z=3, 则表达式z+=++x+y++之值是7 3.若x=2,y=3,则x%=y+3之值为 2 4.. 若有定义int y=3; float z= 5.2, x=4.8; 则表达式y+=(int)x+x+z的值为17 5. 设x,y,z为int型变量,且x=3,y=-4,z=5,请写出下列各表达式的值 1)(x&&y)==(x||z) 1 2)!(x>y)+(y!=z)||(x+y)&&(y-z) 0 3)x++-y+(++z) 13 6. 设x,y,z为int型变量,请用C语言表达式描述下列命题 1)x和y中有一个小于z (xz||x>z&&y=0||z<0&&y<0&&x>=0||y<0&&x<0&&z>=0)==1 3)y是奇数y%2 !=0 7. 下面for循环语句最多可执行 4 次 For (x=0,y=0 ;(y !=99)&&(x<4) ;x++) 8. 设i,j,k均为int型变量,则执行以下for语句后,k的值是10 for (i=0,j=10 ;i<=j ;i++,j--) k=i+j ; 9.若已知x,y,z,m,n均为int 型变量,则执行下面语句后,x的值为7 y的值为9z的值为7 m=10 ; n=5; x=(--m==n++)? --m : ++n; y=m++; z=n; 10. 若有说明语句:w=1,x=2,y=3,z=4; 则表达式w>x? w:z>y? z:x值是 4 11. 若定义的函数没有返回值时,则应该在该函数定义时加上类型说明符void 12. 凡在函数中未指定存储类型的变量,其隐含的存储类别为动态存储 13. 在C语言中,一个函数直接或间接地调用自身,编构成函数的递归 14. 如果被调用的自定义函数和调用函数不再同一个文件中,则在应以函数的文件中应将该文件的存储类型定义成型,在调用函数的文件中将该函数说明为型。 15. 对于所定义的二维数组a[2][3],元素a[1][2]是数组的第 6 个元素。N*j+m+1 16.若有定义:char *str=”I am a student.”; 则字符串在存储单元中占16 个字节。 17. 在执行int a[][3]={{1,2},{3,4}};语句后,a[1][2]的值是0 。 18. 调用strlen(“abc\0ef\0g”)的返回值是 3 。\0为停止符 19. 设有定义:char s[12]=“string”; 则printf(“%d\n”,strlen(s));的输出值是 6 20. 执行下列程序段后,*p等于 3 int a[5]={1,3,5,7,9}; *p=a;p++;

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语言期末复习试卷

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━试卷编号: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语言期末复习题

作业-1 1.单选题:下列字符串属于标识符的是。 A. INT B. 5_student C. !DF D. 2ong 2.单选题:C语言中能用来表示整常数的进制是。 A. 十进制、八进制、十六进制 B. 二进制、十进制 C. 六进制、八进制 D. 十二进制、十进制 3.单选题:在ASCII码表中可以看到每个小写字母的ASCII码比它相应的大写字母的 ASCII码。 A. 小32 B. 大32 C. 大64 D. 小64 4.单选题:设d为字符变量,下列表达式不正确的是。 A. d="a" B. d=97 C. d='a' D. d='g' 5.单选题:10+?a?+1.5-567.345/?b?的结果是型数据。 A. int

B. long C. double D. unsigned 6.单选题:已知在ASCII字符集中,数字0的序号为48,下面程序的输出结果为。 main() {char x,y; x=?0?;y=?9?; printf(“%d,%d\n”,x,y); } A. 48,58 B. 48,57 C. 0,9 D. 因输出格式不合法,输出错误信息 7.单选题:已知在ASCII字符集中,字母A的序号为65,下面程序的输出结果为。 main() {char c=?A?;int i=10; c=c+10; i=c%i; printf(“%c,%d\n”,c,i); } A. 75,7 B. K,5 C. 因存在非图形字符,无法直接显示出来 D. 75,5 8.单选题:C语言中,运算对象必须是整型数的运算符是。 A. * B. / C. % D. % 和/ : 9.单选题:下列常数中,合法的C 常量是。 A. 7ff

c语言期末考试试题

一、单项选择题。(每题1分,共20分) 1. C程序的基本单位是:() A.子程序 B.程序 C.子过程 D.函数 2.在C语言中,非法的八进制是:() A.016 B.018 C.017 D.02 3. 不是C语言实型常量的是:() A.55.0 B.0.0 C.55.5 D.55e2.5 4 .字符串“xyzw”在内存中占用的字节数是:() A.6 B.5 C.4 D.3 5. 若已定义f,g为double类型,则表达式:f=1,g=f+5/4的值是:() A.2.0 B.2.25 C.2.1 D.1.5 D.1.5 D.1.5 D.1.5 6. 若有语句char c1=`d`,c2=`g`;printf(“%c,%d\n”,c2- `a`,c2-c1);则输出结果为:() (a的ASCII码值为97) A.M,2 B.G,3 C.G,2 D.D,g 7. 使用语句scanf(“a=%f,b=%d”,&a,&b);输入数据时,正确的数据 输入是:() A.a=2.2,b=3 B.a=2.2 b=3 C.2.2 3 D.2.2,3 8.表示关系12<=x<=y的C语言表达式为:() A.(12<=x)&(x<=y) B. (12<=x)&&(x<=y) C. (12<=x)|(x<=y) D.(12<=x)||(x<=y) 9.设x=1,y=2,m=4,n=3,则表达式x>y?x:mc4)后,s,t的值为:() A.1,2 B.1,1 C.0,1 D.1,0 12. 语句for(a=0,b=0;b!=100&&a<5;a++)scanf(“%d”,&b); scanf最多可执行次数为:() A.4 B.6 C.5 D.1 13. 对于for(s=2;;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、str_1 Cpp pow while D、Pxq My->book line# His.age 选项B中的“\”,”$” ,选项D中“>”,”#”,”.”,”-”不满足(1);选项C中的while为关键

C语言程序设计期末考试试题(含答案)

C语言程序设计 期末考试试题及其答案 一、单项选择题(本大题共20题,每题2 分,共40分) 1、以下不是C语言的特点的是( ) A、C语言简洁、紧凑 B、能够编制出功能复杂的程序 C、C语言可以直接对硬件进行操作 D、C语言移植性好 2、以下不正确的C语言标识符是( ) A、ABC B、abc C、a_bc D、ab.c 3、一个C语言程序是由( ) A、一个主程序和若干子程序组成 B、函数组成 C、若干过程组成 D、若干子程序组成 4、一个算法应该具有“确定性”等5个特性,对另外4个特性的描述中错误的是( ) A、有零个或多个输入 B、有零个或多个输出 C、有穷性 D、可行性 5、设变量a是整型,f是实型,i是双精度型,则表达式10+‘a’+i*f值的数据类型为( ) A、int B、float C、double D、不确定 6、在C语言中,char型数据在内存中的存储形式是( ) A、补码 B、反码 C、源码 D、ASCII码 7、有如下程序,输入数据:12345M678<cR>后(表示回车),x的值是( ) 。 #include main(){ int x; float y; scanf("%3d%f",&x,&y); } A、12345 B、123 C、45 D、345 8、若有以下定义int a,b; float x,则正确的赋值语句是( ) A、a=1,b=2 B、b++; C、a=b=5 D、b=int(x); 9、以下程序的执行结果是( )

#include { int i=10,j=10; printf("%d,%d\n",++i,j--); } A、11,10 B、9,10 C、11,9 D、10,9 10、巳知字母A的ASCII码是65,以下程序的执行结果是( ) #include main() { char c1='A',c2='Y'; printf("%d,%d\n",c1,c2); A、A,Y B、65,65 C、65,90 D、65,89 11、下列运算符中优先级最高的是( ) A、< B、十 C、% D、!= 12、设x、y和z是int型变量,且x=3,y=4,z=5,则下面表达式中值为0是( ) 。 A、’x’&&’y’ B、x<=y C、x||y+z&&y-z D、!((x<y)&&!z ||1) 13、判断char型变量cl是否为小写字母的正确表达式为( ) A、’a’<=c1<=f’z’ B、(c1>=a)&&(c1<=z) C、(‘a’>=c1) (‘z’<=c1) D、(c1>=’a’)&&(c1<=’z’) 14、字符串"a"在内存中占据的字节个数为( ) A、0 B、 1 C、 2 D、 3 15、下面有关for循环的正确描述是( ) A、for循环只能用于循环次数已经确定的情况 B、for循环是先执行循环体语句,后判定表达式 C、在for循环中,不能用break语句跳出循环体 D、for循环体语句中,可以包含多条语句,但要用花括号括起来 16、下面程序的运行结果是( ) #include main() {int num=0; while(num<=2) {num++; printf(“%d ,num); } } A、 1 B、 1 2 C、 1 2 3

c语言期末考试练习题1(含答案)

一、单项选择题(6小题,每小题3分,共18分) 1、在一个C源程序文件中,若要定义一个只允许本源文件中所有函数使用的全局变量,则该变量需要使用的存储类别是 A、extern B、register C、auto D、static 2、下面4个选项中,是合法转义字符的选项是( )。 A、'\" B、'\' C、'\018' D、'\\0' '\\' '\017' '\f' '\101' '\n' '\''' 'xab' 'x1f' 3、下面4个选项中,是正确的八进制数或十六进制数的选项是( )。 A、–10 B、0abc C、0010 D、0a12 0x8f –017 –0x11 – –011 0xc 0xf1 –0xa 4、以下在任何情况下计算平方数时都不会引起二义性的宏定义是( ) A、# define POWER(x) □□x * x B、# define POWER(x) □□(x) * (x) C、# define POWER(x) □□(x * x) D、# define POWER(x) □□((x) * (x)) 5、以下程序段( ) x= –1; do { x=x*x;} while (!x); A、是死循环 B、循环执行二次 C、循环执行一次 D、有语法错误 6、下面程序的运行结果是( ) # include int main( ) { int i,j,x=0; for (i=0;i<2;i++) { x++; for(j=0;j<=3;j++) { if (j%2) continue; x++; } x++; } printf ("x= %d \n",x); return 0; } A、x=4 B、x=8 C、x=6 D、x=12 二、填空题(7小题,每小题3分,共22分) 1、下面程序段的运行结果是( )。 char ch[ ]=''600";int a,s=0;

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语言期末复习总结卷习题.doc

填空 期末总复习(基础知识+程序设计部分) 1. _______________________________________ 己知charch=,A:则下列表达式的值是:_____________________________________________ a Ch=(chx'A' && ch<=,Z,)? (ch+32):ch; 2.若x=l,y=2,z=3,则表达式z+二++x+y++之值是__________ 3.若x=2,y=3,则x%二y+3 Z值为 2 4..________________________________________________________________ 若有定义int y=3; float z= 5.2, x=4.8;则表达式y+=(int)x+x+z 的值为17 _____________________ 5.设x,y,z为int型变量,且x=3,y=?4,z=5,请写岀下列各表达式的值 1)(x&&y) ==(x||z) ___________ 1 __________ 2)! (x>y) +(y!二z)||(x+y)&&(y?z) 0 3)___________________ x++-y+什+z) _____ 13 6.设x,y,z为int型变量,请用C语言表达式描述下列命题 1) x 和y 中有——个小于z (xvz&&y>z||x>z&&yvz )=1 ___________________ 2)x,y 和z 中有两个为负数 (x<0&&y<0&&z>=0||z<0&&yv0&&x>=0||yv0&&x<0&&z>=0)==l __________________ 3)y是奇数y%2!二0 7.下面for循环语句最多可执行 4 次 For (x=0,y=0 ;(y !=99)&&(x<4) ;x++) 8.设i,j,k均为ini型变量,则执行以下for语句后,k的值是_ 10 for (i=0,j=10 ;i<=j ;i++,j??) k二i+j ; 9.若已知x, y,z,m,n均为int型变量,则执行下面语句后,x的值为7 v的值为________ z的值为______________ m=10 ; n=5; x=(—m==n++)? —m : ++n; y 二m++; z=n; 10.若有说明语句:w=l,x=2,y=3,z=4;则表达式w>x? w:z>y? z:x值是_____________ 4 _______ 11.若定义的函数没有返回值时,则应该在该函数定义时加上类型说明符_________________ 12.凡在函数中未指定存储类型的变量,其隐含的存储类别为_________ 13.在C语言屮,一个函数直接或I、可接地调用自身,编构成函数的 __________ 14?如果被调用的自定义函数和调用函数不再同一个文件中,则在应以函数的文件中应将该文件的存储类型定义成________________________________ 在调用函数的文件中将该函数说 明为________________________ 型。

C语言期末复习题

C语言期末复习题https://www.360docs.net/doc/9c6495885.html,work Information Technology Company.2020YEAR

《C程序设计》复习题 一、单项选择题(请从4个备选答案中选择最适合的一项,每小题1分,共20分) 1.算法具有5个特性,以下选项中不属于算法特性的是()。 A) 有穷性B) 简洁性C) 有效性D) 确定性 2.设有定义:float a=2,b=4,h=3;,其中a为梯形的上底,b为梯形的下底,h为梯形的高,以下C语言表达式不能计算出梯形面积的() A) (a+b)*h/2 B) (1/2)*(a+b)*h C) (a+b)*h*1/2 D) h/2*(a+b) 3.经int a=7; float x=2.5, y= 4.7;说明后,表达式 x+a%3*(int)(x+y)%2/4 的值是( )。 A) 2.500000 B) 2.750000 C) 3.500000 D) 0.000000 4.若t为double类型,表达式t=1,t+5, ++t的值是 A)1 B)6.0 C)7.0 D)2.0 5. 若有以下定义和语句: int u=010,v=0x10,w=10; printf(“%d,%d,%d\n”,u,v,w); 则输出结果是 A)8,16,10 B)10,10,10 C)8,8,10 D)8,10,10 6. 以下选项中不合法的用户标识符是 A)_12B)abc7C)a-2 D)AS_88_mj 7. 若有以下定义和语句 char c1='b',c2='e'; printf("%d,%c\n",c2-c1,c2-'a'+"A"); 则输出结果是 A)2,M B)3,E C)2,E D)输出项与对应的格式控制不一致,输出结果不确定 8. 若有以下定义: char s[20]="programming",*ps=s; 则不能代表字符o的表达式是 A)ps+2 B)s[2]

C语言期末复习卷习题教学内容

C语言期末复习卷习 题

期末总复习(基础知识+程序设计部分) 一.填空 1.已知char ch=’A’; 则下列表达式的值是: a Ch=(ch>=’A’ && ch<=’Z’)? (ch+32):ch; 2. 若x=1,y=2,z=3, 则表达式z+=++x+y++之值是 7 3.若x=2,y=3,则x%=y+3之值为 2 4.. 若有定义int y=3; float z= 5.2, x=4.8; 则表达式y+=(int)x+x+z的值为 17 5. 设x,y,z为int型变量,且x=3,y=-4,z=5,请写出下列各表达式的值 1)(x&&y)==(x||z) 1 2)!(x>y)+(y!=z)||(x+y)&&(y-z) 0 3)x++-y+(++z) 13 6. 设x,y,z为int型变量,请用C语言表达式描述下列命题 1)x和y中有一个小于z (xz||x>z&&y=0||z<0&&y<0&&x>=0||y<0&&x<0&&z>=0)==1 3)y是奇数y%2 !=0 7. 下面for循环语句最多可执行 4 次 For (x=0,y=0 ;(y !=99)&&(x<4) ;x++) 8. 设i,j,k均为int型变量,则执行以下for语句后,k的值是 10 for (i=0,j=10 ;i<=j ;i++,j--) k=i+j ; 9.若已知x,y,z,m,n均为int 型变量,则执行下面语句后,x的值为 7 y 的值为 9 z的值为 7 m=10 ; n=5; x=(--m==n++)? --m : ++n; y=m++;

C语言期末复习卷习题

C语言期末复习卷习题集团标准化工作小组 #Q8QGGQT-GX8G08Q8-GNQGJ8-MHHGN#

期末总复习(基础知识+程序设计部分) 一.填空 1.已知char ch=’A’; 则下列表达式的值是: a Ch=(ch>=’A’ && ch<=’Z’) (ch+32):ch; 2. 若x=1,y=2,z=3, 则表达式z+=++x+y++之值是 7 3.若x=2,y=3,则x%=y+3之值为 2 4.. 若有定义int y=3; float z=, x=; 则表达式y+=(int)x+x+z的值为 17 5. 设x,y,z为int型变量,且x=3,y=-4,z=5,请写出下列各表达式的值 1)(x&&y)==(x||z) 1 2)!(x>y)+(y!=z)||(x+y)&&(y-z) 0 3)x++-y+(++z) 13 6. 设x,y,z为int型变量,请用C语言表达式描述下列命题 1)x和y中有一个小于z (xz||x>z&&y=0||z<0&&y<0&&x>=0||y<0&&x<0&&z>=0)==1 3)y是奇数y%2!=0 7. 下面for循环语句最多可执行 4 次 For (x=0,y=0;(y!=99)&&(x<4);x++) 8. 设i,j,k均为int型变量,则执行以下for语句后,k的值是 10 for (i=0,j=10;i<=j;i++,j--) k=i+j; 9.若已知x,y,z,m,n均为int 型变量,则执行下面语句后,x的值为 7 y的值为9 z的值为 7 m=10 ; n=5; x=(--m==n++) --m : ++n;

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

大学C语言期末考试试题 一选择题(7分,每小题0.5分) 1。C语言源程序的基本单位是()。 A 过程B函数C子程序D标识符 2.下列程序的输出结果是()。 main( ) { inta=7,b=5; printf("%d\n",b=b/a); } A 5 B 1 C0 D不确定值 3.假设变量a,b均为整型,表达式(a=5,b=2,a>b?a++:b++,a+b)的值是()。 A7 B8 C9 D 2 4.设a为int型变量,执行下列赋值语句后,a的取值分别是()。 a=125.534;a=(int)125.521%4;a=5<<2; A125,31,1 B125,1,20 C 125,31,20D125.534,2,20 5。设有如下程序段,下面描述中正确的是( )。 int k=10;while(k=0)k=k—1; A循环执行一次B循环是无限循环C循环体语句一次也不执行D循环体语句执行一次 6。以下程序的输出结果为( ). int i; void prt() { for(i=5;i<8;i++) printf(”%c”,'*’); printf("\t"); } main( ) { for(i=5;i<=8;i++)prt( ); } A *** B ************ C *** *** D * ** 7。在C语言程序中,以下说法正确的是()。 A函数的定义可以嵌套,但函数的调用不可以嵌套 B函数的定义不可以嵌套,但函数的调用可以嵌套 C函数的定义和函数的调用都不可以嵌套 D函数的定义和函数的调用都可以嵌套 8。以下函数调用语句中含有( )个实参. func((e1,e2),(e3,e4,e5)); A 2 B3 C5 D语法错误 9.以下程序的输出结果为(). #defineADD(x)x*x main( ) {int a=4,b=6,c=7,d=ADD(a+b)*c; printf(”d=%d",d);

相关文档
最新文档