文档视界 最新最全的文档下载
当前位置:文档视界 › C语言模拟试题

C语言模拟试题

C语言模拟试题
C语言模拟试题

C语言模拟试题

一、单项选择题(共40分每题1分)

说明:答案必须填写在答题卡的相应位置上,否则不得分。

1.C语言中字符型(char)数据在内存中的存储形式是____D____。

A、原码

B、反码

C、补码

D、ASCII码

2.C语言中基本的数据类型包括___B_____。

A、整型、实型、逻辑型

B、整型、实型、字符型

C、整型、字符型、逻辑型

D、整型、实型、逻辑型、字符型

3.在C语言中,int类型数据在内存中占用____C____。

A、2字节

B、4字节

C、由编译系统决定

D、由用户决定4.运算符有优先级,C语言中关于运算符优先级的正确叙述是____B____。

A、逻辑运算符高于算术运算符,算术运算符高于关系运算符;

B、算术运算符高于关系运算符,关系运算符高于逻辑运算符;

C、算术运算符高于逻辑运算符,逻辑运算符高于关系运算符;

D、关系运算符高于逻辑运算符,逻辑运算符高于算术运算符。

5.下面关于C语言语句的叙述,错误的是___C_____。

A、C语言一行可以允许写多条语句;

B、C语言语句用分号结束;

C、语句一行写不下时,可以用逗号换行;

D、语句一行写不下时,可在任意一空格处回车换行。

6.下面数据中不属于字符型常量的是____A____。

A、“\n”

B、…\0?

C、…A?

D、…\t?

7.11.以下选项中,当x为大于1的奇数时,值为0的表达式______D____ 。

A、x%2==1

B、x/2

C、x%2!=0

D、x%2==0

8.C语言源程序名的后缀是____B____ 。

A 、.exe B、.C C、.obj D、.cp

9.设所有变量均为int型,则表达式(a=5,b=2,b++,a-b)的值是____D____。

A、7

B、8

C、6

D、2

10.若有说明语句:int a;float b;,以下输入语句正确的是___C_____。

A、scanf("%f%f",&a,&b);

B、scanf("%f%d",&a,&b);

C、scanf("%d,%f",&a,&b);

D、scanf("%6.2f%6.2f",&a,&b);

11.已知int a,b; 用语句scanf(“%d%d”,&a,&b);输入a,b的值时,不能作为输入数据分隔符的是_____A___。

A、,

B、空格

C、回车

D、[Tab]

12.C语言对嵌套if语句的规定是:else总是与___D___配对。

A、与之前最近的if

B、第一个if

C、缩进位置相同的if

D、其之前最近的且尚为配对的if

13.在下面的条件语句中(其中s1和s2表示是C语言的语句),只有一个在功能上与其它三个语句不等价,它是___D___。

A、if(a)s1; else s2;

B、if(a==0)s2; else s1;

C、if(a!=0)s1; else s2;

D、if(a==0)s1; else s2;

14.若有下面程序片段,则输出结果为___D___。

int x=10,y=10;

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

A、10,10

B、9,9

C、9,10

D、10,9 15.对if语句中表达式的类型,下面正确的描述是____D_____。

A、必须是关系表达式

B、必须是关系表达式或逻辑表达式

C、必须是关系表达式或算术表达式

D、可以是任意表达式

16.以下错误的if语句是____C_____。

A、if(x>y);

B、if(x= =y)x+=y;

C、if(x!=y)printf("%d",x) else printf("%d",y);

D、if(x

17.若要求在if后的一对圆括号中表示x与y相等的关系,则不能正确表示这一关系的表达式为_____A___。

A、x=y

B、x= =y

C、!(x-y )

D、!(y-x) 18.以下错误的描述是__B____。

A、break语句不能用于循环语句、switch语句外的任何其它语句;

B、在switch语句中使用break语句或continue语句的作用相同;

C、在循环语句中使用continue语句是为了结束本次循环,而不是终止整个循环;

D、在循环语句中使用break语句是为了使流程跳出循环体,提前结束循环。19.以下四个关于C语言的结论中,只有一个是错误的,它是___D___。

A、可以用while语句实现的循环一定可以用for语句实现;

B、可以用for语句实现的循环一定可以用while语句实现;

C、可以用do-while语句实现的循环一定可以用while语句实现;

D、do-while语句与while语句的区别仅是关键字“while”出现的位置不同。

20.以下程序段执行后,变量i的值是___D___。

for(i=1;i<=100;i+=2);

A、100

B、102

C、99

D、101 21.与语句while(!x)等价的语句是__A___。

A、x= =0

B、x= =1

C、x!=0

D、x=0

22.下面的for循环是____C__。

for(i=0,j=0;(j!=123)&&(i<4);i++);

A、无限循环

B、循环次数不定

C、执行4次

D、执行3次23.以下错误的描述是__C____。

A、使用while和do-while循环时,循环变量初始化的操作在循环语句之前完成;

B、while循环是先判断表达式,后执行循环体语句;

C、do-while和for循环均是先执行循环体语句,后判断表达式;

D、for、while和do-while循环中的循环体均可以由空语句构成。

24.在C语言中,引用数组元素时,其数组下标的数据类型允许是_C________。

A、整型常量

B、整型表达式

C、整型常量或整型表达式

D、任何类型的表达式

25.若要定义一个有10个int元素的数组,应当选择语句___A_____。

A、int a[10];

B、int a[2,5];

C、int a(10);

D、int *a[10]; 26.以下能对一维数组a进行正确初始化的语句是____D_____。

A、int a[5]=”student”;

B、int a[5]={ 1;2;3;4;5};

C、char a=“student”;

D、char a[]={65,66,67,?\0?};

27.若要定义一个具有3行4列整型元素的数组a,正确的定义方法是___A____。

A、int a[3][4] ;

B、int a(3)(4);

C、int a[3,4];

D、int a(3,4); 28.若二维数组a有m列,则在a[i][j]之前的元素个数为____B____。

A、j*m+i

B、i*m+j

C、i*m+j-1

D、j*m+i-1 29.若有定义int a[][3]={{1,2,3},{0},{4,5,6}};则a[2][1]的值是___C_____。

A、0

B、4

C、5

D、6

30.下列有关字符数组的描述中错误的是__B_______。

A、字符串可以整体输入,输出;

B、可以在赋值语句中通过赋值运算对字符数组整体赋值;

C、字符数组可以存放字符串;

D、不可以用关系运算符对字符数组中的字符串进行比较。

31.以下说法中正确的是_____C___。

A、C语言程序总是从第一个函数开始执行;

B、在C语言程序中,要调用的函数必须在main()函数中定义;

C、C语言程序总是从main()函数开始执行;

D、C语言程序中的main()函数必须放在程序的开始部分。

32.下列叙述中正确的是____A____。

A、函数定义不能嵌套,但函数调用可以嵌套;

B、函数定义可以嵌套,但函数调用不可以嵌套;

C、函数定义和函数调用都不能嵌套;

D、函数定义与函数调用都可以嵌套。

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

A、数组的第一个元素值

B、数组的首地址

C、数组的全部元素

D、数组中元素的个数

34.C语言中函数返回值的类型是由___D_____决定。

A、return语句中表达式的类型

B、调用该函数的主调函数的类型

C、调用函数时临时

D、定义函数时指定的类型

35.下面不正确的描述为_____B__。

A、调用函数时,实参可以是表达式

B、调用函数时,实参与形参可以共用内存单元

C、调用函数时,将为形参分配内存单元

D、调用函数时,实参与形参的类型必须一致

36.、在一个文件中定义的外部变量的作用域为__D_____。

A、本文件的全部范围

B、本程序的全部范围

C、本函数的全部范围

D、从定义该变量的位置开始至本文件结束37.C语言的编译预处理主要包括三项功能,下面不是其中之一的是__D______。

A、文件包含(#include)

B、宏定义(#define)

C、条件编译

D、检查C程序中的语法错误

38.关于指针的叙述,错误的是____B____。

A、指针变量存放变量的地址

B、指针和数组完全相同

C、利用指针作为函数的参数,可以改变调用时实参的值

D、利用指针可以实现内存的动态分配

39.若已定义:int *p,a;则语句p=&a中的运算符“&”的含义是___D_____。

A、位与运算

B、逻辑与运算

C、取指针内容

D、取变量地址40.在文件使用方式中,字符串″rb″表示__A____。

A、打开一个已存在的二进制文件,只能读取数据

B、打开一个文本文件,只能写入数据

C、打开一个已存在的文本文件,只能读取数据

D、打开一个二进制文件,只能写入数据

二、填空题(共10分,每空1分)

说明:答案必须填写在答题卡的相应位置上,否则不得分。

1.一个C源程序是由一个或多个函数组成的,其中只有一个(1)函数。

2.函数定义时的参数称为形参。函数调用时的参数称为实参,形参和实参必须一一对应,即数量相同,(2)。

3.与一般的变量不同,指针变量是用来存放内存地址的变量,如果一个指针变量的值是另一个变量的地址,则称该指针变量(3)那个变量。

4.自增、自减运算符的运算对象只能为(4),不能是常量和表达式。

5.若有定义:int a=5;

则语句printf(“%d”,a++);执行后a的值是(5)。

6.C语言中字符具有数字特征,不但可以写成字符常量的形式,还可以用相应的(6)表示。

7.若有以下语句:

char a,b;

scanf("%d,%c",&a,&b);

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

执行时输入65,F 则输出为(7)。

8.结构化程序设计的三种基本控制结构分别是顺序结构、选择结构和(8)。9.C语言中,数组是一种相同数据类型数据的有序集合,数组中的元素在内存中(9)。10.若有定义FILE *fp;,要求在当前文件夹下产生ASCII码新文件list.dat,并将字符串“C Programming”写进文件中,正确打开文件list.dat的语句是

(10)。

三、阅读程序题(共20分,每题4分)

说明:答案必须填写在答题卡的阅读程序题位置,否则不得分。

1.下面程序的运行的结果是(1)。

#include

void main()

{

int x=8,y=10;

x=x+y;y=x-y;x=x-y;

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

}

2.下面程序的运行的结果是(2)。

#include

void main()

{

int i,s=0;

for(i=1;i<=100;i++){s=s+i;if(i==5)break;}

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

}

3.下面程序的运行的结果是(3)。

#include

void main()

{

int x=’a’,y;

y=x+1;

x=x-32;y=y-32;

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

}

4.下面程序的运行的结果是(4)。(运行时输入9,16)

#include

void main()

{

int a,b,x,y;float c;

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

if(a>=b)x=a;else x=b;

if(a

c=(x+y)/2.0;

printf(“%d,%d,%4.2f”,x,y,c);

}

5.下列程序的输出结果是(5)。

#include

void main()

{

int n,f1=1,f2=1;

for(n=1;n<4;n++){f1=f1+f2;f2=f1+f2;}

printf("%d,%d\n",f1,f2);

}

四、完善程序题(共20分,每空4分)

说明:每空必须且只能填写一个语句或一个表达式,答案必须填在答题卡的完善程序题位置,否则不得分。

1.下面程序求两个正整数m和n的最大公约数和最小公倍数。

#include

void main()

{

int m,n,mn,r;

printf("Please input two positive integer m and n: ");

scanf("%d%d",&m,&n);

(1);

if(m

r=m%n;

while(r!=0){ m=n;n=r; (2) ;}

printf("The greatest common divisor is %d\n",n);

printf("The lowest common multiple is %d\n",mn/n);

}

2.下面的程序使用二维数组产生如下形式的杨辉三角形。

1

1 1

1 2 1

1 3 3 1

1 4 6 4 1

1 5 10 10 5 1

#include

main()

{

int i,j,a[6][6];

for(i=0;i<6;i++){a[i][0]=1; (3) ;}

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

for(j=1;j

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

{

for(j=0; (5) j++)printf(“%4d”,a[i][j]);

printf(“\n”);

}

}

五、编程题(共10分,第1题4分,第2题6分)

说明:答案必须填在答题卡的编程题位置,否则不得分。

1.将任意一个两位数整数x的个位与十位数对换。例如x=78,则输出为87。(4分)2.编程序。具体要求:

①输入10个正整数(2分)。

②计算平均值,并输出(2分)。

③统计平均值及以上数字个数,并输出(2分)。

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 语言程序设计》期末试卷 一、单项选择题(10x2’=20’) 1、以下叙述正确的是() A )C 语言的源程序不必通过编译就可以直接运行。 B ) C 语言中的每条可执行语句最终都将被转换成二进制的机器指令。 C )C 语言源程序经编译形成的二进制代码可以直接运行。 D )C 语言中的函数不可以单独进行编译。 2、一个C 语言的源程序中() A )必须有一个主函数 B )可能有多个主函数 C )必须有除主函数外其它函数 D )可以没有主函数 3、以下不能定义为用户标识符的是() A )scanf B )Void C )_3com D )int 4、若以下选项中的变量已正确定义,则正确的赋值语句是() A )x1=26.8%3; B )1+2=x2; C )x3=0x12; D )x4=1+2=3; 5、设有定义:floata=2,b=4,h=3;以下C 语言表达式中与代数式h b a *)(2 1 的计算结果不.相符的是() A )(a+b)*h/2 B )(1/2)*(a+b)*h C )(a+b)*h*1/2 D )h/2*(a+b) 6、C 语言中用于结构化程序设计的3种基本结构是() A )顺序结构、选择结构、循环结构 B )if 、switch 、break C )for 、while 、do-while D )if 、for 、continue 7.在while (!x )语句中的!x 与下面条件表达式等价的是() A)x!=0B)x==1C)x!=1D)x==0

8、有以下程序: #include voidmain(){ inti=1,j=1,k=2; if((j++||k++)&&i++) printf(“%d,%d,%d\n”,i,j,k);} 执行后的输出结果是() A)1,1,2 B)2,2,1 C)2,2,2 D)2,2,3 9、有以下程序: #include voidmain(){ inti,s=0; for(i=1;i<10;i+=2) s+=i+1; printf(“%d\n”,s);} 程序执行后的输出结果是() A)自然数1~9的累加和B)自然数1~10的累加和 C)自然数1~9中奇数之和D)自然数1~10中偶数之和 10、有以下函数定义: voidfun(intn,doublex){……} 若以下选项中的变量都已经正确定义并赋值,则对函数fun的正确调用语句是()A)fun(inty,doublem); B)k=fun(10,12.5); C)fun(x,n);D)voidfun(n,x); 二、填空题(10x2’=20’) 11、C语言描述“x和y都大于或等于z”的表达式是:。 12、函数定义时涉及的基本要素是:、、。

C语言模拟试题二

模拟试题二 一、选择题(本大题30分,每小题2分) 1.C语言中不能用来表示整常数的进制是。 A)十进制B)十六进制C)八进制D)二进制 2.C语言规定标识符由等字符组成。 A)字母数字下划线B)中划线字母数字 C)字母数字逗号D)字母下划线中划线 3.若有如下定义:int a=2,b=3; float x=3.5,y=2.5; 则表达式: (float)(a+b)/2+(int)x%(int)y的值是。 A)2.500000 B)3.500000 C)4.500000 D)5.000000 4.以下表达式: 2+?a?+i*f, 其中i为整型变量,f为float型变量,则表达式的最终数据类型为。 A)int B)float C)char D)double 5.有如下语句: printf(“%s,%5.3s\n”,“COMPUTER”,“COMPUTER”); 执行语句后的最终结果为。 A)COMPUTER ,CMP . B)COMPUTER, CMP. C)COMPU, CMP. D)COMPU, CMP . 6.以下if语句中语法错误的是。 A)if (a>b)printf(“%f”,a); B)if(a>b)printf(“%f”,a); else printf(“%f”,b); C)if(a>b)printf(“%f”,a) D)if(a>b)printf(“%f”,b); else printf(“%f”,b); else printf(“%f”,a); 7.能表示整数x符合下面两个条件的语句是。 (1)“能被4整除,但不能被100整除”.(2)能被4整除,又能被400整除. A)(x%4==0&&x%100!=0)||x%400==0 B)(x%4==0||x%100!=0)&&x%400==0 C)(x%4==0&&x%400!=0)||x%100==0 D)(x%100==0||x%4!=0)&&x%400==0 8.循环语句中的for语句,其一般形式如下: for(表达式1;表达式2;表达式3) 语句 其中表示循环条件的是。 A)表达式1 B)表达式2 C)表达式3 D)语句 9.以数组作为函数的参数时传递的数组的首地址,那么实参数组与形参数组之间的数据传递方式为。 A)地址传递B)单向值传递 C)双向值传递D)随机传递 10.将字符串str2连接到字符串str1中应使用。 A)strcpy(str1,str2) B)strcat(str1,str2) C)strcmp(str1,str2) D)strcat(str2,str1) 11.若有以下定义: int a[10],*p=a; 则*(p+3)表示的是。 A)元素a[3]的地址B)元素a[3]的值 C)元素a[4]的地址D)元素a[4]的值 12.若有如下语句: int *p1,*p2; 则其中int所指的是。 A)p1的类型B)*p1和*p2的类型 C)p2的类型D)p1和p2所能指向变量的类型

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语言期末考试题及其答案

选择题(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; printf("d=%d",d); } A d=70 B d=80 C d=140 D d=700 10.已知职工记录描述如下,在Turbo C中,系统为变量w分配()字节的空间。 struct worker { int no; char name[20]; char sex; union { int day; int month; int year;}birth; } w; A 29 B 20 C 25 D 6 11.设有以下定义,值为5的枚举常量是()。 enum week{sun,mon=4,tue,wed,thu,fri,sat} w; A tue B sat C fri D thu 12.下面选项中正确的赋值语句是(设char a[5],*p=a;)()。 A p="abcd"; B a="abcd"; C *p="abcd"; D *a="abcd"; 13.设有以下程序段,则值为6的表达式是()。 struct st { int n; struct st *next;}; static struct st a[3]={5,&a[1],7,&a[2],9,0 },*p; p=&a[0]; A p++->n B ++p->n C p->n++ D (*p).n++ 写出下列程序的运行结果(10分,每小题2分) 1.float average (float array[10]) { int i;

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

本文由2009220176贡献 doc文档可能在WAP端浏览体验不佳。建议您优先选择TXT,或下载源文件到本机查看。 语言程序设计》 《C 语言程序设计》模拟试卷二 一、填空题。(每空 2 分,共 30 分) 填空题。(每空 。( 1.设有变量说明语句 int x=1,y=2; 则执行下述 printf 语句的输出结果是 printf("%f\n",1.0+x/y); 2.执行下述程序 #include main() { int x,y; scanf("%2d%*2s%1d",&x,&y); printf("%d\n",x+y); } 若从键盘输入 12345671 则程序的输出结果是。 3.以下程序的功能是:从键盘上输入若干名学生的成绩(百分制,可带小数,以输入 负数或 0 为结束标志),统计并输出最高成绩和最低成绩。请填空。 #include main() { float x,amax,amin; scanf("%f",&x); amax=x; amin=x; while ( ) 。 { if (x>amax) amax=x; else if (x main() 。 { int a[6],i; for (i=0;i<6;i++) { a[i]=9*(i-2+4*(i>3))%5; printf("%3d",a[i]); } printf("\n"); } 6.执行下述程序时的输出结果是 #include main() { int a[]={2,4,6,},*ptr=&a[0],x=8,y,z; for (y=0;y<3;y++) z=(*(ptr+y)<x)?*(ptr+y):x; printf("%d\n",z); } 7.执行下述程序的输出结果是 #include main() { int a[][2]={10,20,30,40,50,60},(*p)[2]; p=a; printf("%d\n",*(*(p+2)+1)); } 8.执行以下程序的输出结果是 #include 。 。 。 main() { int s,i,sum(); for (i=1;i<=10;i++) s=sum(i); printf("s=%d\n",s); } sum(int k) { int x=0; return (x+=k); } 9.下述函数定义用来求出两个整数之和,并通过函数的模拟传地址调用,传回两整 数相加之和值,请填空。 void add(int x,int y, { *z=x+y; } 10.函数 func 的功能是将整型变量 x 的值转换成二进制数,并将该二进制数的每一 位存入由整型指针 b 所指向的一维数组 a,最低位存放于 a[0]中, 次低位存放于 a[1] 中,依此类推。请填空。 void func(int x,int *b) { int r; do { r=x%2; =r; ) x/=2; } while (x); } 11.以下程序中函数 invert 实现将数组内所有数组元素的值逆置。比如,执行本程 序将输出 10 9 8 7 6 5 4 3 2 1 请填空。 #include main() { int a[10]={1,2,3,4,5,6,7,8,9,10},i,n=10; invert(a,n-1); for (i=0;i<10;i++) printf("%3d”,a[i]); printf("\n"); } invert(int *s,int num) { int *t,k; t=s+num; while ( { k=*s; *s=*t; *t=k; s++; t--; } ) } 12.若有以下定义和说明,则结构体变量 w 在内存中所占的字节数是 union aa { float x; float y; char c[6]; }; struct st { union aa v; float w[5]; double ave; } w; 13.执行下述程序的输出结果是 #include struct str { float x; char *y; } *m; struct str group[3]={ 95.0,"Li", 82.5,"Wang", 73.5,"Sun" }; main() { m=group; printf("%.lf,%s\n",m->x,m->y); } 。 14.下面的程序用来统计某文件文件中字符的个数。请填空。 #include #include main() { FILE *fp; long num=0; if ((fp=fopen("fnam.dat","r"))==NULL) { printf("Can't open this file!\n"); exit(0); } while ( { fgetc(fp); num++; } printf("num=%d\n",num); fclose(fp); } 15.执行下述程序后,输出结果为 。 #include #define FUN1(a,b) a+b #define FUN2(a,b) a-b #define CAL(a,b) a*b+a+3 main() { printf("%d\n",CAL(FUN1(3,5),FUN2(4,5))); } ) 二、单项选择题。(每题 1 分,共 20 分) 单项选择题。(每题 。( 1.以下不是 c 语言规定保留字的是( (A)float (B)integer )。 (D) unsigned ) (C)signed 2.设 int 型变量 x 有初始值 3,则表达式 x++*5/10 的值是( (A)0 (B)1 (C)2 ) (D)3 3.下述程序执行后的输出结果是( #include main() { int x='f'; printf("%c\n",'a'+(x-'a'+1)); } (A)g 4.设有程序 #include main() { int i,j; for (i=0,j=1;i<=j+1;i+=2,j--) printf("%d\n",i); } (B)h (C)i (D)j 在运行上述程序时,for 语句中循环体的执行次数是( (A)3 (B)2 (C)1 (D)0 )

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分,共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

一、单选题(15题每题1分共15分) 1.一个c程序的执行是从_____。(知识点:1.3) A)本程序的main函数开始,到main函数结束 B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C)本程序的main函数开始,到本程序文件的最后一个函数结束 D)本程序文件的第一个函数开始,到本程序main函数结束 2.下列字符串为标识符的是_____。(知识点:3.2) A)_1_A B)5_student C)long D)!DF 3.下面字符常量正确的是_____。(知识点:3.5) A)“c” B)…\\'' C)‘n’D)‘ab’ 4.已知各变量的类型说明如下: int k,a,b; unsigned w=5; double x=1.42; 则以下不符合c语言语法的表达式是______ 。(知识点:3.9) A)x%(-3)B)w+=-2 C)k=(a=2,b=3)D)a+=a-=a=3 5.若以下变量均是整型,且num=sum=7;则执行表达式sum=num++,sum++,++num后sum 的值为____。(知识点:3.8) A)7 B)8 C)9 D)10 6.printf函数中用到格式符%5s,其中数字5表示输出的字符串占用5列。如果字符串长度大于5,则输出方式为____。(知识点:4.4) A)从左起输出该字串,右补空格 B)按原字符长从左向右全部输出 C)右对齐输出该字串,左补空格 D)输出错误信息 7.有一函数关系见下表:

下面程序段中能正确表示上面关系的是_____。(知识点:5.3) A)y=x+1;B)y=x-1; if(x>=0)if(x!=0) if(x==0)y=x;if(x>0)y=x+1; else y=x-1;else y=x; C)if(x<=0)D)y=x; if(x<0)y=x-1;if(x<=0) else y=x;if(x<0)y=x-1; else y=x+1;else y=x+1; 8.若运行时给变量x输入12,则以下程序的运行结果是_____。(知识点:5.2)main() {int x,y; scanf("%d",&x); y=x>12?x+10:x-12; printf("%d\n",y);} A)0 B)22 c)12 D)10 9.设有程序段 int k=10; while(k=0)k=k-1; 则下面描述中正确的是______。(知识点:6.3) A)while循环执行10次B)循环体语句一次也不执行 B)循环是无限循环D)循环体语句执行一次 10.c语言中whi1e和do-while循环的主要区别是_____。(知识点:6.4) A)do-while的循环体至少无条件执行一次 B)while的循环控制条件比do-while的循环控制条件严格 C)do-while允许从外部转到循环体内

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. 语句的构成不一定需要分号 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 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);

(完整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语言模拟题

一.选择题 1、()是不正确的。 A、每条语句最后必须有一个分号; B、C源程序可由一个或多个函数组成; C、注释说明只能位于一条语句的后面; D、C源程序的基本组成单位是函数。 2、()是正确的叙述。 A、强制类型转换运算的优先级高于算术运算; B、表达式“m”+“M”是合法的; C、若变量X,Y为整型,则(a+b)++是合法的; D、表达式‘m’*‘n’是合法的; 3、()为正确的变量名 A. k.jeep B. int C.k_5 D. –k15 4、若有定义int m=4321, n=123, k=21; 语句printf( “%4d+%3d+%2d”,m,n,k); 执行后的输出结果是() A、4321432143211231231232121 B、432+123+021 C、432112321 D、4321+123+21 5、若定义int a= -5 , b= -8, c=21,则表达式a>=b|| b

大学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语言模拟考试题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语言期末考试题 悬赏分:40 |解决时间:2010-6-29 14:28 |提问者:345387547 1. 数组int a[3][5]; 共定义了_______________个元素。 2. 有float f= 3.1415927; 则printf(“%5.4f”, f );输出的结果是 _______________。 3. 下面程序的功能是:输出100以内(不包含100)能被3整除且个位数为6的所有整数,请填空。 main( ) { int i; for(i=1; _______________; i++) if (_______________) printf("%d", i); } 4. 设有“int x=2, y”说明,则逗号表达式“y=x+5,x+y”的值是 _______________ 5. 以下是使用指针,进行字符串复制的程序,请填空。 main() { char a[]= “Tsinghua University”, b[30], *p1,*p2; p1=a; p2=b; for(; *p1!= _______________; p1++, p2++) _______________=_______________; *p2= ______________; 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<_______________;j++) if( _______________< _______________ ) { m=a[ j]; a[ j]=a[ j+1]; a[ j+1]= m; } for(i=0;i<5;i++) printf("%d ",a[i]); } 7. 函数fun的功能是:使一个字符串按逆序存放,请填空。 void fun (char str[]) { char m; int i,j; for(i=0,j=strlen(str);i<_______________;i++,j--)

相关文档