当前位置:文档之家› C语言考试复习题

C语言考试复习题

C语言考试复习题
C语言考试复习题

一、选择题

1. 在每个C 程序中都必须包含有这样一个函数,该函数的函数名为 。

A. main

B. MAIN

C. name

D. function

2. 在以下关于C 语言的注释的叙述中,不正确的是 。

A .注释可用"/*"、"*/"形式表示,也可用"//"形式表示

B .编译器在编译一个程序时,将跳过注释,不对其进行处理

C .编译器在编译一个程序时,可发现注释中的单词拼写错误

D .程序中注释的多少不会影响所生成的可执行文件的长度

3. 以下叙述不正确的是 。

A .在C 程序中,严格区分大小写字母

B .一个

C 源程序有且仅有一个main 函数

C .在C 程序中,注释只能位于一条语句的后面

D .一个C 程序总是从main 函数开始执行

4. 下列合法的标识符为

A. abde+

B. #KDJF

C. 67KDJ

D. DK3_

5. 关于字符串和字符的关系正确的是

A. “A ”与?A ?是相同的

B. 字符串是常量,字符是变量

C. “A ”与?A ?是不同的

D. “A ”与“A ”是相同的

6. 下面关于语句的说法正确的是

A. 下面这两段程序的执行效果是一致的

B. 空语句是只有一个分号的语句,它其实什么也不干

C. 语句的构成不一定需要分号 if (x>y)

{z=x; s=z*z;}

else

{z=y;s=1/(z*z);}

if (x>y) z=x; s=z*z; else z=y;s=1/(z*z);

D.语句的书写对程序的运行不起作用,因此可以随便写都可以

7.以下各标识符中,合法的用户标识符组为。

A.PAd,P#d,b-b,abc,_0123,ssiped

B.cin,a10,CPP,float,del_word,signed

C.void,max,hiy,,list,*jer

D.a,temp,_isw,INT,keep,wind

8.字符串“\”E OF= -\61\””的长度是。

A.8 B.9 C.12 D.非法字符串9.数学式x

sin在C程序中对应的不正确的表达式为。

A.sqrt(sin(x)>0?sin(x):-sin(x)) B.sqrt(fabs(sinx))

C.sqrt(sqrt(sinx*sinx)) D.fabs(sqrt(sin(x)))

10.下列是C语言的有效标识符?

A._No1 B.No.1 C.12345 D.int

11.C语言中,表示一条语句结束的标号是

A.# B.; C.// D.}

12.每个C程序中都必须有且仅有一个

A.类B.预处理命令C.主函数D.语句13.下列数据类型不是C语言基本数据类型的是。

A.字符型B.整型C.实型D.数组

14.下列字符列中,可作为C语言程序自定义标识符是。

A.switch B.file C.break D.do

15.运算符+、<=、=、% 中,优先级最低的运算符是。

A.+ B.<= C.= D.%

16.下列字符列中,可以作为“字符串常量”的是。

A.ABC B.″xyz″ C.′uvw′ D.′a′

17.设变量m,n,a,b,c,d均为0,执行(m = a= =b)||(n=c= =d)后,m,n的值是。

A.0,0 B.0,1 C.1,0 D.1,1

18.字符串"vm\x43\\\np\102q"的长度是。

A.8 B.10 C.17 D.16

19.在C语言中,自定义的标识符。

A.能使用关键字并且不区分大小写

B.不能使用关键字并且不区分大小写

C.能使用关键字并且区分大小写

D.不能使用关键字并且区分大小写

20.设x和y均为逻辑型变量,则x && y为真的条件是。

A. 它们均为真

B. 其中一个为真

C. 它们均为假

D. 其中一个为假

21.若给定条件表达式(m)?(a++): (a--),则其中表达式m 。

A. 和(m= =0)等价

B. 和(m= =1)等价

C. 和(m!=0)等价

D. 和(m!=1)等价

22.在if语句中,用作判断的表达式为。

A. 关系表达式

B. 逻辑表达式

C. 算术表达式

D. 任意表达式

23.设i和k都是int类型,则以下for循环语句。

for ( i=0, k= -1; k=1; i++, k++ ) cout << "****\n";

A. 判断循环结束的条件不合法

B. 是无限循环

C. 循环体一次也不执行

D. 循环体只执行一次

24.若有以下语句,则输出结果为。

int a=2,b=1;

cout << a>b?"a大于b":"a小于b" << endl;

A. a大于b

B. a小于b

C. 1

D. 输出语句有错

25.int k=10;

while(k=0) k=k-1;

则下面描述正确的是。

A. while循环执行10次

B. 循环是无限循环

C. 循环体语句一次也不执行

D. 循环体语句执行一次

26.int a=1,b=2,c=2,t;

while(a

cout<

运行结果为。

A. 1,2,0

B. 2,1,0

C. 1,2,1

D. 2,1,1

27.int x=-1;

do

{x=x*x;}

while(!x);

下列说法正确的是。

A. 是死循环

B. 循环执行两次

C. 循环执行一次

D. 有语法错误

28.以下能正确计算1*2*3*…*10的程序段是。

A. do {i=1;s=1;

B. do {i=1;s=0;

s=s*i; i++;} s=s*i;i++;}

while(i<=10); while(i<=10);

C. i=1;s=1;

D. i=1;s=0;

do {s=s*i; do{s=s*i;

i++;} i++;}

while(i<=10); while(i<=10);

29.以下描述正确的是。

A. 由于do-while循环中循环体语句只是一条可执行语句,所以循

环体内不能使用复合语句

B. do-while循环由do开始,用while结束,在while(表达式)后面

不能写分号

C. 在do-while循环体中,一定要有能使while后面表达式的值变

为零(“假”)的操作

D. do-while循环中,根据情况可以省略while

30.while和do-while循环的主要区别是。

A. do-while的循环体至少无条件执行一次

B. while的循环控制条件比do-while的循环控制条件严格

C. do-while允许从外部转到循环体内

D. do-while的循环体不能是复合语句

31.下面有关for循环的正确描述是。

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

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

C. for循环中,不能用break语句跳出循环体

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

括起来

32.对for(表达式1;;表达式3)可理解为。

A. for(表达式1;0;表达式3)

B. for(表达式1;1;表达式3)

C. for(表达式1;表达式1;表达式3)

D. or(表达式1;表达式3;表达式3)

33.在C编程语言中,以下正确的描述是。

A. continue语句的作用是结束整个循环的执行

B. 只能在循环体内和switch语句体内使用break语句

C. 在循坏体内使用break语句或continue语句的作用相同

D. 从多层循环嵌套中退出,只能使用goto语句

34.下面程序段。

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

{cin>>x;

if(x<0) continue;

cout<

A. 当x<0时整个循环结束

B. x>=0时什么也不输出

C. cout永远也不执行

D. 最多允许输出100个非负整数

35.定义一个函数实现交换x和y的值,并将结果正确返回。能够实现此功能的是。

A. swap(int x, int y){ int t; t=x; x=y; y=t; }

B. swap(int *x, int *y){ int t; t=x; x=y; y=t; }

C. swap(int *x, int *y){ int t; t= *x; *x = *y; *y=t; }

D. swap(int *x, int *y){ int *t; t=x; x=y; y=t; }

36.若有代数式3ae/bc,则不正确的C语言表达式是。

A. a/b/c*e*3

B. 3*a*e/b/c

C. 3*a*e/b*c

D. a*e/c/b*3

37.以下表达式值为3的是。

A. 16-13%10

B. 2+3/2

C. 14/3-2

D. (2+6)/(12-9)

38.设有说明语句,int k=7, x=12;则以下能使值为3的表达式是。

A. x%=(k%=5)

B. x%=(k-k%5)

C. x%= k-k%5

D. (x%=k)-(k%=5)

39.若有条件表达式(exp)? A++: b--,则以下表达式中能完全等价于表达式(exp)的是。

A. (exp= =0)

B. (exp!=0)

C. (exp= =1)

D. (exp!=1)

40.设有以下语句:

typedef struct REC

{ char c; int a[4];} REC1;

则下面叙述中正确的是。

A.可以用REC定义结构体变量

B.REC1是struct REC类型的变量

C.REC是struct类型的变量

D.可以用REC1定义结构体变量

41.下列关于结构的语法错误的是

A.结构是由用户自定义的一种数据类型

B.结构中可设定若干个不同数据类型的成员

C.结构中成员的数据类型可以是另一个已定义的结构

D.在定义结构时,可以为成员设置默认值

42.以下关于结构体的叙述中,错误的是。

A.结构体是一种可由用户构造的数据类型

B.结构体中的成员可以具有不同的数据类型

C.结构体中的成员不可以与结构体变量同名

D.结构体中的成员可以是指向自身结构的指针类型

43.说明一个结构体变量时,系统分配给它的内存是。A.各成员所需内存量的总和

B.结构中第一个成员所需内存量

C.成员中占内存量最大者所需的容量

D.结构中最后一个成员所需内存量

44.设有以下说明语句:

struct stu

{ int a; float b; } stutype;

则下面的叙述不正确的是。

A.struct是结构体类型的关键字

B.struct stu是用户定义的结构体类型名

C.stutype是用户定义的结构体类型名

D.a 和b都是结构体成员名

45.若有如下定义

struct data

{ int x,y;} test1={10,20}, test2;

则以下赋值语句中错误的是。

A. test2=test1;

B. test2.x=test1.x;

C. test2.x=test1.y

D. test2={30,40};

46.以下对结构体变量stu1中成员age的非法引用是。struct student

{ int age; int num;} stu1,*p;

p=&stu1;

A. stu1.age

B. student.age

C. p->age

D. (*p).age

47.当说明一个共用体变量时,系统分配给它的内存是。

A. 各成员所需内存量的总合

B.结构中第一个成员所需内存量

C.成员中占内存量最大者所需的容量

D.结构中最后一个成员所需内存量

48.以下对C语言中共用体类型数据的叙述正确的是。A.可以对共用体变量名直接赋值

B.一个共用体变量中可以同时存放其所有成员

C.一个共用体变量中不能同时存放其所有成员

D.共用体类型定义中不能出现结构体类型的成员

49.若有以下定义和语句:

union data

{ int i; char c; float f;} a;

int n;

则以下语句正确的是。

A.a=5; B. a={2,?a?,1.2}

C. printf(“%d\n”,a);

D. n=1;

50.设有以下说明,则下面不正确的叙述是。

union

{ int i; char c; float f;} un;

A. un所占的内存长度等于成员f的长度

B.un的地址和它的成员地址都是同一地址

C.un可以作为函数参数

D.不能对un赋值,但可以在定义un时对它初始化

51.C语言共用体类型变量在程序运行期间

A.所有成员一直驻留在内存中

B.只有一个成员驻留在内存中

C.部分成员驻留在内存中

D.没有成员驻留在内存中

52.使用typedef定义一个新类型的正确步骤是。A.(2)、(4)、(1)、(3) B. (1)、(3)、(2)、(4)C.(2)、(1)、(4)、(3) D. (4)、(2)、(3)、(1)

(1)把变量名换成新类型名

(2)按定义变量的方法写出定义体

(3)用新类型名定义变量

(4)在最前面加上关键则typedef

53.下面对typedef的叙述中不正确的是。

A.用typedef可以定义各种类型名,但不能用来定义变量

B.用typedef可以增加新类型

C.用typedef只是将已存在的类型用一个新的标识符来代表

D.使用typedef有利于程序的通用和移植

54.下面试图为double说明一个新类型名real的语句中,正确定是。

A.typedef real double;

B. typedef double real;

C. typedef real=double;

D. typedef double=real;

55.下面不能正确进行字符串赋值操作的是。

A. char s[5]={“ABCDE”};

B. char s[5]={…A?, …B?, …C?, …D?, …E?};

C. char *s; s=“ABCDE”;

D. char *s; scanf(“%s”,s);

56.下面程序段的运行结果是。

char *s=”abcde”;

s+=2; printf(“%d”,s);

A. cde

B. 字符c

C. 字符c的地址

D. 无确定的输出结果

57.下面程序段的运行结果是。

char a[ ]=”language”, *p;

p=a;

while(*p!=?u?){printf(“%c”,*p-32); p++;}

A. LANGUAGE

B. language

C. LANG

D. langUAGE

58.有如下说明语句,则以下不正确的叙述是。

char a[ ]=”It is mine”;

char *p=”It is mine”;

A. a+1表示的是字符t所在存储单元的地址

B.p指向另外的字符串时,字符串的长度不受限制

C.p变量中存放的地址值可以改变

D.a中只能存放10个字符

答案:

1.A 2.C 3.C 4.D 5.C 6.B 7.D 8.A 9.B 10.A 11.B 12.C 13.D 14.B 15.C 16.B 17.D 18.A 19.D 20.A 21.C 22.D 23.B 24.A 25.C 26.D 27.C 28.C 29.C 30.A 31.D 32.B 33.B 34.D 35.C

36.C 37.B 38. D 39. B 40. D 41. D 42. C 43. A 44. C 45. D 46. B 47.C 48.C 49.B 50.C 51.B 52.C

53. B 54 B 55.C 56.C 57. C 58. D

二、填空题

1.程序的三种基本的控制结构是:、、。

2.C语言中的每条基本语句以作为结束符,每条复合语句以作为结束符。

3.关系表达式x+y>5的相反表达式为。

4.下面的程序段中循环体的执行次数是。

a=10;b=0;

do{b+=2;a-=2+b;} while(a>=0);

5.下面程序段的运行结果为。

x=2;

do{cout<<“*”;x--; } while(!x==0);

6.已知int a[3][2]={3, 2, 1}; 则表达式“a[0][0]/a[0][1]”的值是。

7.若用数组名作为函数调用时的实参,则实际上传递给形参的是。

8.如果一个函数无返回值,定义它时函数类型应是。

9.预处理命令以开头。

10.指针类型变量用于存储,在内存中它占有一个存储空间。

11.赋值语句在执行时先计算,再将该值转换成与一致的值,并将值赋给左部变量。

12.在程序中else总是与的if配对,而不管程序的书写格式如何。

13.在函数中使用语句返回值。

14.函数的形参在未被调用前分配空间,函数形参的要和实参相同。

15.函数调用一般分、,前者的特点是形参和实参各有独立的存储空间,形参的存储空间在函数被调用时才分配,形参内容的变化不影响实参,后者的特点是形参实参共用一个存储空间,形参内容的改变可以改变实参值。

16.在传值调用中,实际是把实参的传给形参。

17.int a[3]={3}; 则a[2]= 。

18.int a[3]={1, 3, 5, 7}; 则。

19.数组由和构成,其数组元素的数据类型是。

20.声明长度为10的float型数组a,且初始化为0的语句是:。

21.指针是存放一个变量的的变量。

22.当数组名作形参时,相当于。

23.要访问数组元素可以采用、、。

24.定义一个指针p,它指向一个有6个整型元素的一维数组,定义语句为。

25.定义一个指针数组p,它有4个元素,每个指针指向一个整型数据,定义语句为。

26.指针可以指向字符串,在定义一个字符型指针时,可以给它初始化,目的是把字符串的放入指针变量。

27.指针可以指向函数,这时它所指的是函数的。

28.C语言的源程序必须通过和后,才能被计算机执行。

29.C语言源程序文件的后缀是;经过编译后,生成文件的后缀是;经过连接后,生成文件的后缀是。

30.在C语言中,表示逻辑“真”值用。

31.设y为int型变量,请写出描述“y是奇数”的表达式。

32.C语言提供的3种逻辑运算符是、和。

33.若x、y、z均为int型变量,则描述“x或y中有一个小于z”的表达式是。

34.设a、b、c均为int型变量且a=7.5, b=2,c=3.6,则表达式a>b &&

c>a || ab 的值是。

35.设a、b、c均为int型变量且a=6, b=4,c=2,则表达式!(a-b)+c-1 && b+c/2的值是。

36.设a、b均为int型变量且a=2, b=4,则表达式!(x=a) || (y=b) && 0的值是。

37.设a、b、c均为int型变量且a=1, b=4,c=3,则表达式!(a

c && 1的值是。

38.若有条件“2

答案:

1.顺序结构选择结构循环结构

2.;}

3.x+y<=5

4. 3

5.**

6. 1

7.数组首地址

8.内置函数

9.#

10.所指变量的地址

11.表达式的值左部变量类型

12.它前面最近且未配对

13.return

14.不类型及数量

15.传值调用传址调用

16.值

17.0

18.会出错

19.数组名下标相同的

20.float a[10]={0};

21.地址

22.指针

23.下标法地址法指针法

24.int (*p)[6]

25.int *p[4]

26.首地址

27.入口地址

28.编译连接

29.c obj exe

30.非0数字

31.(y%2)= =1

32.&& || !

33.x

34.0

35.1

36.0

37.0

38.x<3 && x>2 || x<-10

三、填空完成下面的程序

1. 以下程序的功能是:输出x,y,z三个数中的最大者。请填空。

#include

int main( )

{ int x=4, y=6, z=7;

int u,v ;

if( x>y ) u=x;

else u=y;

if( u>z ) v=u;

else v=z;

printf(“v=%d”,v);

return 0;

}

2.以下程序的功能是:输入3个整数,按从大到小的顺序进行输出。请填空。

#include

int main( )

{ int x,y,z,c;

scanf(“%d%d%d”,&x,&y,&z);

if( y

{ c=y;y=z;z=c;}

if( x

{ c=x;x=z;z=c;}

if( x

{ c=x;x=y;y=c;}

printf(“%d,%d,%d”,x,y,z);

return 0;

}

3.以下程序的功能是:输入一个字符,如果它是一个大写字母,则把它变成小写字母;如果它是一个小写字母,则把它变成大写字母;其他字符不变。请填空。

#include

int main( )

{ char ch;

scanf(“%c”,&ch);

if( ch>=?A? && ch<=?Z?) ch=ch+32;

else if ( ch>=?a? && ch<=?z?) ch=ch-32;

printf(“%c”,ch);

return 0;

}

4.以下程序的功能是:根据输入的三角形的三条边,判断是否能组成三角形,若可以则输出它的面积和三角形的类型。请填空。

#include

#include

int main( )

{ float a,b,c;

float s,area;

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

if( a+b>c && b+c>a && a+c>b )

{ s=(a+b+c)/2;

area=sqrt(s*(s-a)*(s-b)*(s-c));

printf(“%f”,area);

if( a= =b && b= =c )

printf(“等边三角形”);

else if ( (a= =b && b!=c) || (a= =c && c!=b) || (c= =b && a!=c) ) printf(“等腰三角形”);

else if((a*a+b*b=c*c) || (a*a+c*c=b*b) || (b*b+c*c=a*a))

printf(“直角三角形”);

else printf(“一般三角形”);

}

else printf(“不能组成三角形”);

return 0;

}

5. 将以下含有switch语句的程序段改写成对应的含有非嵌套if语句的程序段。请填空。

含有switch语句的程序段:

int x,y,m;

y=(int)(x/10);

switch(y)

{ case 10: m=5;break;

case 9: m=4;break;

case 8: m=3;break;

case 7: m=2;break;

case 6: m=1;break;

default: m=0;

}

含有非嵌套if语句的程序段:

int x,m;

if( x<110 && x>=100 ) m=5;

if(x<100 && x>=90) m=4;

if(x<90 && x>=80) m=3;

if(x<80 && x>=70) m=2;

if(x<70 && x>=60) m=1;

if( x<60 || x>=110 ) m=0;

6. 根据以下给出的嵌套if语句,填写对应的switch语句,使它完成相同的功能。(假设mark的取值在1—100之间。)

if语句:

if(mar<60) k=1;

else if( mark<70) k=2;

else if( mark<80) k=3;

else if( mark<90) k=4;

else if( mark<=100) k=5;

switch语句:

switch((int)(mark/10) )

{case 0: case 1: case 2: case 3: case 4: case 5: k=1;break;

case 6: k=2; break;

case 7: k=3;break;

case 8: k=4;break;

case 9: case 10: k=5;

}

7. 下面程序的功能是从键盘输入若干学号,然后输出学号中百位数字是3的学号(输入0时结束循环),请填空。

#include

int main( )

{ long int num;

scanf(“%ld”,&num);

do

{ if (num/100%/10= =3) pringf(“%ld”,num);

scanf(“%ld”,&num);

} while (num!=0) ;

return 0;

}

8. 下面程序的功能是计算正整数2345的各位数字的平方和,请填空。#include

int main( )

{ int n=2345,sum=0;

do

{ sum=sum+ (n%10)*(n%10) ;

n= n/10 ;

}while(n);

printf(“sum=%d”,sum);

return 0;

}

9. 下面程序的功能是求算式xyz+yzz=532中的x,y,z的值(其中xyz 和yzz分别表示一个三位数),请填空。

#include

int main( )

{ int x,y,z,I,result=532;

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

for(y=1;y<10;y++)

for( z=0 ; z<10; z++)

{ i=100*x+10*y+z+100*y+10*z+z;

if (i= =result)

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

}

return 0;

}

10.有1020个西瓜,第一天卖一半多两个,以后每天卖剩下的一半多两个,下面的程序统计买完所需的天数,请填空。

#include

int main( )

{ int day=0, x1=1020, x2;

while (x1)

{ x2= x1/2-2 ;

x1=x2;

day++;

}

printf(“day=%d\n”,day);

return 0;

}

11.下面的程序的功能是用do-while语句求1—1000之间满足“用3除余2,用5除余3,用7除余2”的数,且一行只打印5个数,请填空。

#include

int main( )

{ int i=1,j=0;

do

{ if (i%3= =2 && i%5= =3 && I%7= =2)

{ printf(“%4d”,i);

j++;

if (j%5= =0) printf(“\n”);

}

i=i+1;

} while(i<1000);

return 0;

}

12.下面程序的功能是求1000以内的所有完全数。请填空。(说明:一个数如果恰好等于它的因子之和(除自身外),则称该数为完全数。例如:6=1+2+3,6为完全数)

#include

int main( )

{ int a,k,m;

for(a=1;a<=1000;++)

{ for( m=0, k=1 ; k<=a/2;k++) if(!(a%k)) m=m+k;

if(m= =a) printf(“%4d”,a);

}

return 0;

}

13.下面的程序是从键盘输入的10个整数中,找出一个能被7正处的数,若找到,打印次数;若未找到,打印not exist。请填空。

#include

int main( )

{ int k,a;

for(k=1;k<=10;k++)

{ scanf(“%d”,&a);

if(a%7= =0) break;

}

if (k<=10) printf(“%d\n”,a);

else printf(“not exist\n”);

return 0;

}

四、给出下列程序运行后的输出结果

1. 当a=1,b=3,c=5,d=4时,执行以下程序段后x的值是 2 。if (a

if(c

else

if(a

if(b

else x=3;

else x=6;

else x=7;

2. 以下程序的输出是-1 。#include

int main( )

{ int a=100,x=10,y=20,ok1=5,ok2=0;

if(x

if(y!=10)

if(!ok1)

a=1;

else

if(ok2) a=10;

a=-1;

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

return 0;

}

3. 以下程序的输出是 2 。

#include

int main( )

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

if(x

if(y<0) z=0;

else z+=1;

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

return 0;

}

4. 以下程序的输出是OK 。#include

int main( )

{ int x=1;

大一C语言期末考试题

大一C语言期末考试题 悬赏分:40 |解决时间:2010-6-29 14:28 |提问者:345387547 1. 数组int a[3][5]; 共定义了______15__个元素。 2. 有float f= 3.1415927; 则printf(“%5.4f”, f );输出的结果是___3.1416__。 3. 下面程序的功能是:输出100以内(不包含100)能被3整除且个位数为6的所有整数,请填空。 main( ) { int i; for(i=1; __i<100 ___; i++) if (_(i%3==0)&&(i%10==6)_) printf("%d", i); } 4. 设有“int x=2, y”说明,则逗号表达式“y=x+5,x+y”的值是____7____ 5. 以下是使用指针,进行字符串复制的程序,请填空。 main() { char a[]= “Tsinghua University”, b[30], *p1,*p2; p1=a; p2=b; for(; *p1!= __'\0'____; p1++, p2++) *p2 _=_*p1; *p2= ___'\0'______; printf(“string a is:%s\n”,a); printf(“string b is:%s\n”,b); } 6. 下面程序用冒泡法对数组a进行降序排序,请填空。 main() { int a[5]={4,7,2,5,1}; int i,j,m; for(i=0;i<4;i++) for(j=0;j<____4____;j++) if( a[j]

江苏大学大一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语言程序设计期末考试试卷和答案

四川师范大学计算机科学学院 2012~2013学年度第二学期期末考试 C 语言程序设计试卷 试卷A 答卷说明: 1、 本试卷共6页,答题纸3页,4个大题,35个小题,满分100 分,120分钟完卷。 2、 闭卷考试,所有的答案都必须写在答题纸上,判卷以答题纸上 答案为准。 3、 本试卷适用于2011级1、2、3班。 一、 单项选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的 序号填在题干的括号内。每小题1分,共20分) 1、 在C 语言中,下列标识符中合法的是( ) A). -int B). in1_3 C). A_B!D D). const 2、 不属于C 语言基本数据类型的是( ) A). int B). union C). char D). unsigned 3、 下面是对宏定义的描述。不正确的是( ) A). 宏不存在类型问题,宏名无类型,它的参数也无类型 B). 宏替换不占用运行时间 C). 宏替换只是字符串的简单替代 D). 宏替换时先检查类型,类型一致时才可以替换 4、 C 语言中,″\\xfds ″在内存中占用的字节数是( ) __________________学院__________级___________班 姓名_______________ 学号_______________ ………………………………(密)………………………………(封)………………………………(线)……………………………… 密 封 线 内 答 题 无 效

A).3 B).4C).5D).6 5、设int x;则执行printf(″%x\n″,~x^x);的结果是() A). ffffffff B). ff C).0D). 1 6、对于while语句,错误的说法是() A).用条件控制循环体的执行次数B).循环体至少要执行一次 C).循环体有可能一次也不执行D).循环体中可以包含若干条语句 7、执行下列语句后输出的结果是() int a=8,b=7,c=6; if(ac){a=c;c=b;} printf("%d,%d,%d\n",a,b,c); A).6,7,7B).6,7,8C).8,7,6D).8,7,8 8、设int a=9,b=20;则printf(″%d,%d\n″,a--,--b);的输出结果是() A).9,19B).9,20C).10,19D).10,20 9、设static char x[ ]=″12345″,y[ ]={′1′,′2′,′3′,′4′,′5′,′\0′};那么() A).x数组的长度等于y数组的长度B).x数组的长度大于y数组的长度 C).x数组的长度少于y数组的长度D).x数组与y数组的存储区域相同 10、设int i,x[3][3]={1,2,3,4,5,6,7,8,9};则下面语句的输出结果是() for(i=0;i<3;i++) printf(″%d″,x[i][2-i]); A).147B).159C).357D).369 11、执行完下列语句后,n的值是() int n; for (n=0 ; n<100 ; n=2*n+1); A).125B).126 C).127D).128 12、有以下语句:int a=6;a+=a-=a*a;printf(“%d”,a);输出结果() A).–132 B).–60 C). -24 D). 0 13、为了连接两个字符串s1与s2,应当使用() A). strcat( s1,s2 ) B). strcpy( s1, s2 ) C). strlen( s1, s2 ) D). strcmp( s1, s2 ) 14、设int a,*p;则语句p=&a;中的运算符“&”的含义是() A).位与运算B).逻辑与运算C).取指针内容D).取变量地址 15、下面输出的结果为() i nt a=13, b=64; printf(“%d\n”, !a || (b>>3) );

c语言期中考试试题及答案

《C语言程序设计》期中考试试卷 课程编号:03402513试卷类型:A卷考试形式:笔试考试日期: 注意事项:1.请将试卷最后一页的答题纸撕下,将答案填写在其中;2.交卷时请确认答题纸是否按要求写好姓名等信息并与试题一起上交;3.不准携带任何书籍、资料、纸张等。4.草稿纸用试卷的背面。 一、单项选择题(1空1分,共20分) 1、C语言程序的基本结构是(【1】) 。 【1】 A) 函数 B) 语句 C) 字符 D) 程序行 2、一个C程序的执行是(【2】) 。 【2】A) 从本程序的主函数开始,到本程序的主函数结束 B)从本程序的第一个函数开始,到本程序的最后一个函数结束 C) 从本程序的主函数开始,到本程序的最后一个函数结束 D)从本程序的第一个函数开始,到本程序的主函数结束 3、下列四个叙述中,错误的是(【3】) 。 【3】 A) 一个C源程序必须有且只能有一个主函数 B) 一个C源程序可以含一个或多个子函数 C) 在C源程序中注释说明必须位于语句之后 D) C源程序的基本结构是函数 4、下面不属于C语言保留字的是(【4】) 。 【4】 A) short B) ELSE C) extern D) for 5、下列四个叙述中,正确的是(【5】) 。 【5】 A) 库函数也是C语言本身的组成部分 B) C语言中的输入输出操作是由相应语句完成的 C) 库函数是C编译系统提供的功能函数 D) 标题文件(头文件)可以在程序的函数内部调用 6、下列四组数据类型中,C语言允许的一组是(【6】)。 【6】 A) 整型、实型、逻辑型 B) 整型、实型、字符型 C) 整型、双精度型、布尔型 D) 整型、实型、复型 7、在C语言中不同数据类型的的长度是(【7】)。 【7】 A) 固定的 B) 由用户自己定义的 C) 任意的 D) 与机器字长有关

大一上学期C语言期末复习总结和模拟试题带答案

易错点 C语言中易犯的错误 对初学C语言的人来说,经常会出一些连自己都不知道错在哪里的错误.看着有错的程序,不知该如何改起,一些C编程时常犯的错误,写给各位学员以供参考. ******************************** ******************************** ************************ 1.书写标识符时,忽略了大小写字母的区别. main() { int a=5; printf("%d",A); } 编译程序把a和A认为是两个不同的变量名,而显示出错信息. C认为大写字母和小写字母是两个不同的字符.习惯上,符号常量 名用大写,变量名用小写表示,以增加可读性. ******************************** ******************************** ************************ 2.忽略了变量的类型,进行了不合法的运算. main() { float a,b; printf("%d",a%b); } %是求余运算,得到a/b的整余数.整型变量a和b可以进行求余运算,而实型变量则不允许进行"求余"运算. ******************************** ******************************** ************************ 3.将字符常量与字符串常量混淆. char c; c="a"; 在这里就混淆了字符常量与字符串常量,字符常量是由一对单 引号括起来的单个字符,字符串常量是一对双引号括起来的字符序 列.C规定以"\"作字符串结束标志,它是由系统自动加上的,所 以字符串"a"实际上包含两个字符:'a'和'\',而把它赋给一 个字符变量是不行的. ******************************** ******************************** ************************ 4.忽略了"="与"=="的区别. 在许多高级语言中,用"="符号作为关系运算符"等于". 如在BASIC程序中可以写 if (a=3) then … 但C语言中,"="是赋值运算符,"=="是关系运算符.如: if (a==3) a=b; 前者是进行比较,a是否和3相等,后

大一C语言期末考试试题

6.以下程序的输出结果为(D)。 main( ) { char c; int i; for(i=65;i<68;i++) { c=i+32; switch(c) { case ‘a’:printf("%c,",c);break; case ‘b’:case ‘e’:printf("ok,"); default: printf("end"); } } } A a,ok,end B a,ok,endend C a,ok,end,end D a,ok,ok 9.以下程序的输出结果为(B)。 #define A 3 #define B(a) (A+1)*a main() { int x; x=3*A+B(7); printf("x=%d\n",x); } A x=93 B x=37 C x=60 D x=90 三写出下列程序的运行结果(10分,每小题2分) 1.main( ) { char c1=‘A’,c2=‘\144’,c3=‘\x44’,c=0xf5,x=13,a; int i=0122,j=0xa4; printf(“c1=%c,c4=%c\tc5=%c\n”,c1,c2,c3); printf(“%d,%d\n”,i,j); i=-34; j=20; printf(“%d,%d,%d\n”,i%j,i&j<<2,sizeof(j)); printf(“c=%d\n”,c|x); a=c^x<<2;

printf(“a=%d\n”,a); } 2.main() { int x,y=1,z=10; if(y!=0) x=5; printf(“x=%d\t”,x); x=1; if(z<0) if(y>0) x=3; else x=5; printf(“x=%d\n”,x); if(z=y<0) x=3; else if(y==0) x=5; else x=7; printf(“x=%d\t”,x); printf(“z=%d\n”,z); } 3.main( ) { char s[20]=“I like it.”,t[20]=“Are you?”,c[20]; int i=0; while(s[++i]!=‘\0’) t[i]=s[i]; t[i]=0; printf(“string s:%s\n”,s); printf(“string t:%s\n”,t); } 4.int i=5; main( ) { int i=3; { int i=10; i++; printf(“%d\n”,i);

(完整word版)大一c语言考试试题

一、单项选择题(每小题2分,共50分) 1、一个C程序的执行是从___A__。 A、本程序的main函数开始,到main函数结束 B、本程序的main函数开始,到本程序文件的最后一个函数结束 C、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 D、本程序文件的第一个函数开始,到本程序main函数结束 2、C语言程序的基本单位是___C___。 A、程序行 B、语句 C、函数 D、字符 3、请选出可用作C语言用户标识符的一组标识符___B___。 A、void B、a3_b3 C、For D、2a define _123 -abc DO WORD IF ase sizeof 4、假定x和y为double型,则表达式(x=2,y=x+5/2)的值是__C__ 。 A、4.500000 B、4 C、4.000000 D、2.000000 5、下列可以正确表示字符型常量的是___D__。 A、297 B、"a" C、"\n" D、'\t' 6、在C语言中,要求运算数必须是整型的运算符是__D__。 A、/ B、++ C、*= D、% 7、C语言中,复合语句的构成是将一系列语句置于__C__。 A、begin与end之间 B、方框号“[ ]”之间 C、花括号“{ }”之间 D、圆括号“( )”之间 8、有如下程序段,对应正确的数据输入是___A___。 float x,y; scanf(”%f%f”, &x,&y); printf(”a=%f,b=%f”, x,y); A、2.04<回车> B、2.04,5.67<回车> 5.67<回车> C、A=2.04,B=5.67<回车> D、2.045.67<回车> 9、以下程序段的输出结果是___D__。 int a=5678; printf(”%2d\n”, a); A、提示出错、无结果 B、56 C、78 D、5678 10、已知:char ch='A';则下列表达式的值是__B__。 ch = (ch>='A'&&ch<='Z') ? (ch+32) : ch; A、A B、a C、Z D、z

大一c语言期末考试题

大一c语言期末考试题 C语言期末考试试题附答案 一选择题(7分,每小题0.5分) 1.C语言源程序的基本单位是()。 A 过程 B 函数 C 子程序 D 标识符 2.下列程序的输出结果是()。 main( ) { int a=7,b=5; printf("%d\n",b=b/a); } A 5 B 1 C 0 D不确定值 3.假设变量a,b均为整型,表达式(a=5,b=2,a>b?a++:b++,a+b)的值是()。 A 7 B 8 C 9 D 2 4.设a为int型变量,执行下列赋值语句后,a的取值分别是()。 a=125.534; a=(int)125.521%4; a=5<<2; A 125,31,1 B 125,1,20 C 125,31,20 D 125.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 B 3 C 5 D 语法错误 9.以下程序的输出结果为()。 #define ADD(x) x*x main( ) { int a=4,b=6,c=7,d=ADD(a+b)*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.-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语言编程重点复习题

输出众数: int main() {int a[10],b[10]={0}; int i,j,max; for(i=0;i<10;i++) scanf("%d",&a[i]); for(i=0;i<10;i++) for(j=i;j<10;j++) if(a[i]==a[j]) b[i]++; max=b[0]; for(i=0;i<10;i++) if(b[i]>max) max=b[i]; if(max==1) printf("No"); else for(i=0;i<10;i++) if(b[i]==max) printf("%d,%d\n",a[i],b[i]);

return 0; } 平方数: #include int main() { int i,a,b; for(i=1000;i<=9999;i++) { a=i/100; b=i%100; if(i==(a+b)*(a+b)) printf("%d\n",i);} return 0; } 排序:由小到大 #include int main()

int i,j,t; for(i=0;i<10;i++) scanf("%d",&a[i]); for(j=0;j<9;j++) for(i=0;i<9-j;i++) if(a[i]>a[i+1]) { t=a[i];a[i]=a[i+1]; a[i+1]=t; } for(i=0;i<9;i++) printf("%d\n",a[i]); printf("%d",a[9]); return 0; } # {

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

选择题 1.下列字符序列中,不可用作C语言标识符的是()。 A.abc123 B.no.1 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.V oid 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.A.dat 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=1-.le-1; B.double b=1+5e2.5; 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) 14.已知x=45, y=’a’, z=0; 则表达式(x>=z && y<’z’ || !y)的值是()。 A.0 B.语法错 C.1 D.“假”

大一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;

大一c语言考试试题

单 项 选 择 题 ( 每 小 题 2 分 1、 一个C 程序的执行是从 A 。 A 、 本程序的main 函数开始,到main 函数结束 B 、 本程序的main 函数开始,到本程序文件的最后一个函数结束 C 、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 D 、本程序文件的第一个函数开始,到本程序 main 函数结束 2、 C 语言程序的基本单位是 C 。 A 、 程序行 B 、语句 C 、 函数 D 、字符 3、 请选出可用作 C 语言用户标识符的一组标识符 __B___。 A 、 void B 、 a3_b3 C 、 For D 、 2a define _ 123 -abc DO WORD IF ase sizeof 4、假定x 和y 为double 型,则表达式(x=2,y=x+5/2)的值是__C A 、4.500000 B 、4 C 、 4.000000 5、下列可以正确表示字符型常量的是 ___D C 、 "\n" D 、 '\t' 6、在C 语言中,要求运算数必须是整型的运算符是 __D, 、 ++ 7、C 语言中,复合语句的构成是将一系列语句置于 __C A 、 begin 与 end 之间 B 、方框号“ [ ] ”之间 C 、花括号“ { } ”之间 D 、圆括号“ ( ) ”之 间 8、有如下程序段,对应正确的数据输入是 ___A___。 float x,y; scanf( ”%f%f ” , &x,&y); printf( ”a=%f,b=%f ”, x,y); A 、 2.04<回车> B 、 2.04,5.67< 回车> 5.67< 回车> C 、 A=2.04,B=5.67< 回车> D 、 回车> 9、以下程序段的输出结果是 __ _D__。 int a=5678; printf( ”%2dn ”, a); A 、提示出错、无结果 B 、 56 C 、 78 D 、 5678 10、已知: char ch='A' ;则下列表达式的值是 __B ch = (ch>='A'&&ch<='Z') ? (ch+32) : ch; A 、A B 、a C 、Z D 、z 11、下列描述,正确的是 ___B__ 。 、 2.000000 A 、 297 B 、 "a

大一C语言试题

c语言考试模拟试题 本卷共有4道大题: 一、单项选择题(20道小题,共20分) 1、以下叙述中不正确的是( c)(1分) A、在不同的函数中可以使用相同名字的变量 B、函数中的形式参数是局部变量 C、在一个函数内定义的变量只在本函数范围内有效 D、在一个函数内的复合语句中定义的变量在本函数范围内有效 2、有以下函数定义:void fun(int n, double x) { ……} 若以下选项中的变量都已正确定义并赋值,则对函数fun的正确调用语句是(b )(1分) A、fun(int y,double m); B、k=fun(10,12.5); C、fun(x,n); D、void fun(n,x); 3、给出以下定义:char x[]="abcdefg";char y[]={'a','b','c','d','e','f','g'};则正确的叙述为( )(1分) A、数组x和数组y等价 B、数组x和数组y的长度相同 C、数组x的长度大于数组y的长度 D、数组x的长度小于数组y的长度 4、设有如下定义:struct op{int i:float k;}self,*p; 若有p=&self;则对self中的i域的正确引用是( )(1分) A、(*p).self.i B、(*p).i C、p->self.i D、p.self.i 5、设有如下定义:int (*ptr)();则以下叙述中正确的是( )(1分) A、ptr是指向一维组数的指针变量 B、ptr是指向int型数据的指针变量 C、ptr是指向函数的指针,该函数返回一个int型数据 D、ptr是一个函数名,该函数的返回值是指向int型数据的指针 6、C语言标准库函数"fgets(string,n,fp)"的功能是( )(1分) A、从文件fp中读取长度为n的字符串存入指针string指向的内存 B、从文件fp中读取长度不超过n-1的字符串存入指针string指向的内存 C、从文件fp中读取n个字符串存入指针string指向的内存 D、从文件fp中读取不超过长度为n的字符串存入指针string指向的内存 7、设int类型的数据长度为2个字节,则unsigned int类型数据的取值范围是( )(1分) A、0至255 B、0至65535 C、-256至255 D、-32768至32767 8、假定int类型变量占用两个字节,其有定义:int x[10]={0,2,4};,则数组x在内存中所占字节数是( )(1分) A、3 B、6 C、10 D、20 9、函数调用:strcat(strcpy(str1,str2),str3)的功能是( )(1分)

大一c语言考试试题

单 项 选 择 题 ( 每 小 题 2 分 共 5 0 分 ) A__。 、本程序的 main 函数开始,到 main 函数结束 、本程序的 main 函数开始,到本程序文件的最后一个函数结束 、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 、本程序文件的第一个函数开始,到本程序 C 语言程序的基本单位是 ___C___。 程序行 B 、语句 函数 D 、字符 请选出可用作C 语言用户标识符的一组标识符 void define WORD 假定 x 和 y 为 double 型,则表达式 1、 一个C 程序的执行是从 A B C D 2、 A 、 C 、 3、 A 、 、 a3_b3 _123 -abc IF ase 4、 A 、 B C 、 D 5、下列可以正确表示字符型常量的是 B D 、4 main 函数结束 、For DO sizeof (x=2,y=x+5/2) 的值是 __C 、2a A 、 297 C 、 "\n" 6在C 语言中, A 、 / C 、 *= D__。 、"a" 、'\t' 要求运算数必须是整型的运算符是 B 、 ++ D 、 % D__。 7、 C 语言中,复合语句的构成是将一系列语句置于 _C A B C D 、 begin 与 end 之 间 、方框号“ [ ] ”之间 、花括号“ { } ”之间 、圆括 号“ ( ) ”之间 8、 有如下程序段,对应正确的数据输入是 float x,y; scanf( ”%f%f ”, &x,&y); printf( ”a=%f,b=%f ”, x,y); A 、 <回 车 > B < 回车 > C 、A=B=V 回车 > D 9、 以下程序段的输出结果是 int a=5678; printf( ”%2d n ” , a); 、提示出错、无结果 、 78 、,< 回车> 、回车 > _D__。 A C 10、 、56 、5678 D 已知: char ch='A' ;则下列表达式的值是 __B__。 ch = (ch>='A'&&ch<='Z') ? (ch+32) : ch;

大一C语言期末考试试题

6.以下程序的输出结果为()。 main( ) { char c; int i; for(i=65;i<68;i++) { c=i+32; switch(c) { case ‘a’:printf("%c,",c);break; case ‘b’:case ‘e’:printf("ok,"); default: printf("end"); } } } A a,ok,end B a,ok,endend C a,ok,end,end D a,ok,ok 9.以下程序的输出结果为()。 #define A 3 #define B(a) (A+1)*a main() { int x; x=3*A+B(7); printf("x=%d\n",x); } A x=93 B x=37 C x=60 D x=90 三写出下列程序的运行结果(10分,每小题2分) 1.main( ) { char c1=‘A’,c2=‘\144’,c3=‘\x44’,c=0xf5,x=13,a; int i=0122,j=0xa4; printf(“c1=%c,c4=%c\tc5=%c\n”,c1,c2,c3); printf(“%d,%d\n”,i,j); i=-34; j=20; printf(“%d,%d,%d\n”,i%j,i&j<<2,sizeof(j)); printf(“c=%d\n”,c|x); a=c^x<<2;

printf(“a=%d\n”,a); } 2.main() { int x,y=1,z=10; if(y!=0) x=5; printf(“x=%d\t”,x); x=1; if(z<0) if(y>0) x=3; else x=5; printf(“x=%d\n”,x); if(z=y<0) x=3; else if(y==0) x=5; else x=7; printf(“x=%d\t”,x); printf(“z=%d\n”,z); } 3.main( ) { char s[20]=“I like it.”,t[20]=“Are you?”,c[20]; int i=0; while(s[++i]!=‘\0’) t[i]=s[i]; t[i]=0; printf(“string s:%s\n”,s); printf(“string t:%s\n”,t); } 4.int i=5; main( ) { int i=3; { int i=10; i++; printf(“%d\n”,i);

大学大一C语言程序设计期末考试试卷及答案剖析

大学大一C语言程序设计期末考试试卷及答案剖析

四川师范大学计算机科学学院 2012~2013学年度第二学期期末考试 C 语言程序设计试卷 试卷A 答卷说明: 1、 本试卷共6页,答题纸3页,4个大题,35个小题,满分100分,120分钟完卷。 2、 闭卷考试,所有的答案都必须写在答题纸上,判卷以答题纸上答案为准。 3、 本试卷适用于2011级1、2、3班。 题号 一 二 三 四 总分 总分人 分数 得分 评卷人 一、 单项选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内。每小题1分,共20分) 1、 在C 语言中,下列标识符中合法的是( ) __________________学院__________级___________班 姓名_______________ 学号_______________ ………………………………(密)……………………………… (封)………………………………(线)………………………………

A). -int B). in1_3 C). A_B!D D). const 2、不属于C语言基本数据类型的是( ) A). int B). union C). char D). unsigned 3、下面是对宏定义的描述。不正确的是( ) A). 宏不存在类型问题,宏名无类型,它的参数也无类型 B). 宏替换不占用运行时间 C). 宏替换只是字符串的简单替代 D). 宏替换时先检查类型,类型一致时才可以替换 4、C语言中,″\\xfds″在内存中占用的字节数是( ) A).3 B).4 C).5 D).6 5、设int x;则执行printf(″%x\n″,~x^x);的结果是( )

大一c语言考试试题知识分享

大一c语言考试试题

一、单项选择题(每小题2分,共50分) 1、一个C程序的执行是从___A__。 A、本程序的main函数开始,到main函数结束 B、本程序的main函数开始,到本程序文件的最后一个函数结束 C、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 D、本程序文件的第一个函数开始,到本程序main函数结束 2、C语言程序的基本单位是___C___。 A、程序行 B、语句 C、函数 D、字符 3、请选出可用作C语言用户标识符的一组标识符___B___。 A、void B、a3_b3 C、For D、2a define _123 -abc DO WORD IF ase sizeof 4、假定x和y为double型,则表达式(x=2,y=x+5/2)的值是__C__ 。 A、4.500000 B、4 C、4.000000 D、2.000000 5、下列可以正确表示字符型常量的是___D__。 A、297 B、"a" C、"\n" D、'\t' 6、在C语言中,要求运算数必须是整型的运算符是__D__。 A、/ B、++ C、*= D、% 7、C语言中,复合语句的构成是将一系列语句置于__C__。 A、begin与end之间 B、方框号“[ ]”之间 C、花括号“{ }”之间 D、圆括号“( )”之间 8、有如下程序段,对应正确的数据输入是___A___。 float x,y; scanf(”%f%f”, &x,&y); printf(”a=%f,b=%f”, x,y); A、2.04<回车> B、2.04,5.67<回车> 5.67<回车> C、A=2.04,B=5.67<回车> D、2.045.67<回车> 9、以下程序段的输出结果是___D__。 int a=5678; printf(”%2d\n”, a); A、提示出错、无结果 B、56 C、78 D、5678 10、已知:char ch='A';则下列表达式的值是__B__。 ch = (ch>='A'&&ch<='Z') ? (ch+32) : ch; A、A B、a C、Z D、z

大学大一C语言程序设计期末考试试卷及答案

大学大一C语言程序设计期末考试试卷及答案费下载四川师范大学计算机科学学院 2012~2013学年度第二学期期末考试 C语言程序设计试卷试卷A 答卷说明: 1、本试卷共6页~答题纸3页~4个大题~35个小题~满分100分~ 120分钟完卷。 2、闭卷考试~所有的答案都必须写在答题纸上~判卷以答题纸上答案 为准。 3、本试卷适用于2011级1、2、3班。 题号一二三四总分总分人 分数 得分评卷人 一、单项选择题(在每小题的四个备选答案中~选出一个正确答案~并将正确答案的 序号填在题干的括号内。每小题1分~共20分) 1、在C语言中,下列标识符中合法的是( ) A). -int B). in1_3 C). A_B!D D). const 2、不属于C语言基本数据类型的是( ) A). int B). union C). char D). unsigned 3、下面是对宏定义的描述。不正确的是( ) A). 宏不存在类型问题,宏名无类型,它的参数也无类型密封线内答题无效 B). 宏替换不占用运行时间

C). 宏替换只是字符串的简单替代 D). 宏替换时先检查类型,类型一致时才可以替换 4、 C语言中,″\\xfds″在内存中占用的字节数是( ) A).3 B).4 C).5 D).6 5、设int x;则执行printf(″%x\n″,~x^x);的结果是( ) __________________学院__________级___________班姓名_______________ 学号_______________ A). ffffffff B). ff C). 0 D). 1 ………………………………(密)………………………………(封)………………………………(线)……………………………… 6、对于while语句,错误的说法是( ) A).用条件控制循环体的执行次数 B).循环体至少要执行一次 计算机科学学院 C语言程序设计试卷A 第1页(共8页) C).循环体有可能一次也不执行 D).循环体中可以包含若干条语句 7、执行下列语句后输出的结果是( ) int a=8,b=7,c=6; if(ac){a=c;c=b;} printf("%d,%d,%d\n",a,b,c); A).6,7,7 B).6,7,8 C).8,7,6 D).8,7,8 8、设int a=9,b=20;则printf(″%d,%d\n″,a--,--b);的输出结果是( ) A).9,19 B).9,20 C).10,19 D).10,20 9、设static char x[ ]=″12345″,y[ ]={′1′,′2′,′3′,′4′,′5′,′\0′};那么( ) A).x数组的长度等于y数组的长度 B).x数组的长度大于y数组的长度 C).x数组的长度少于y数组的长度 D).x数组与y数组的存储区域相同 10、设int i,x[3][3]={1,2,3,4,5,6,7,8,9};则下面语句的输出结果是( )

相关主题
文本预览
相关文档 最新文档