文档库 最新最全的文档下载
当前位置:文档库 › 专升本C语言模拟试题及参考答案

专升本C语言模拟试题及参考答案

专升本C语言模拟试题及参考答案
专升本C语言模拟试题及参考答案

一.单项选择题

1. 以下定义语句中正确的是 (C)

A)char a='A'b='B'; B)float a=b=10.0;

C)int a=10,*b=&a; D)float *a,b=&a;

2. 下列运算符中,优先级最高的是 (A) 。

A. ->

B. ++

C. &&

D. =

3. 表达式!(x>0&&y>0)等价于 (A) 。

A. ! (x>0) || ! (y>0)

B. !x>0 || !y>0

C. !x>0 && !y>0

D. !(x>0) && ! (y>0)

4. 有以下程序

main() { int a=666,b=888;

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

}

程序运行后的输出结果是(B)

A)错误信息 B)666 C)888 D)666,888

5. 有以下程序

main()

{ int i;

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

switch(i)

{

case 0:printf("%d",i);

case 2:printf("%d",i);

default:printf("%d",i);

}

}

程序运行后的输出结果是(C)

A)022111 B)021021 C)000122 D)012

6. 若x和y代表整型数,以下表达式中不能正确表示数学关系|x-y|<10的是 (C)

A)abs(x-y)<10 B)x-y>-10&& x-y<10

C)!(x-y)<-10||!(y-x)>10 D)(x-y)*(x-y)<100

7. 数组定义为,int a[11][11]; 则数组a 的元素个数为: (D)

A. 12

B. 144

C.

100 D. 121

8. 对于以下的变量定义,不正确的表达式是:(D)。

struct node {

int j , k ;

}x,*p=&x;

A. p->k=2;

B. (*p).k=2;

C. x .

k=2 D. x->k=2

9. 不正确的赋值或赋初值的方式是(B)。

A. char str[ ]=”string”;

B. char

str[10]; str=”string”;

C. char *p=”string”;

D. char *p; p=”string”;

10. 设程序中不再定义新的变量,写出在函数main中可以使用的所有变量为:(B) #include

int z;

int p(int x)

{ static int y;

return (x+y);

}

void main( )

{ int a,b;

printf(“%dn”, p(a));

………

}

A. a,b

B.

a,b,z C. a,b,y,z D. a,b,x,y,z

11.有以下程序

main()

{ int i=0,x=0;

for (;;)

{

if(i==3||i==5) continue;

if (i==6) break;

i++;

s+=i;

};

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

}

程序运行后的输出结果是

(D)

A)10 B)13 C)21 D)程序进入死循环

12.有以下程序

main()

{ char a,b,c,d;

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

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

}

若运行时从键盘上输入:6,5,65,66<回车>。则输出结果是(A)

A)6,5,A,B B)6,5,65,66 C)6,5,6,5 D)6,5,6,6

13.s1和s2已正确定义并分别指向两个字符串。若要求:当s1所指串大于s2所指串时,执行语句S;则以下选项中正确的是(D)

A)if(s1>s2)S; B)if(strcmp(s1,s2))S;

C)if(strcmp(s2,s1)>0)S; D)if(strcmp(s1,s2)>0)S;

14.有以下定义和语句

int a[3][2]={1,2,3,4,5,6,},*p[3];

p[0]=a[1];

则*p[0]+1所代表的数组元素是 (C)

A)a[0][1] B)a[1][0] C)a[1][1] D)a[1][2]

15.程序中对fun函数有如下说明

void *fun();

此说明的含义是:(C)

A)fun函数无返回值

B)fun函数的返回值可以是任意的数据类型

C)fun函数的返回值是无值型的指针类型

D)指针fun指向一个函数,该函数无返回值

16.有以下程序

void fun(int *a,int i,int j)

{ int t;

if(i

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

i++; j--;

fun(a,i,j);

}

}

main()

{ int x[]={2,6,1,8},i;

fun(x,0,3);

for(i=0;i<4;i++) printf("%2d",x[i]);

printf("\n");

}

程序运行后的输出结果是 (C)

A)1 2 6 8 B) 8 6 2 1 C) 8 1 6 2 D)8 6 1 2

17.有以下说明和定义语句

struct student

{ int age; char num[8];};

struct student stu[3]={{20,"200401"},{21,"200402"},{19,"200403"}}; struct student *p=stu;

以下选项中引用结构体变量成员的表达式错误的是 (D)

A) (p++)->num B)p->num C)(*p).num D)stu[3].age

18.已定义ch为字符型变量,以下赋值语句中错误的是 (A)

A)ch='\'; B)ch=62+3; C)ch=NULL; D)ch='\xaa';

19.以下选项中不能正确把cl定义成结构体变量的是 (B)

A)typedef struct B)struct color cl

{ int red; { int red;

int green; int green;

int blue; int blue;

} COLOR; };

COLOR cl;

C)struct color D)struct

{ int red; { int red;

int green; int green;

int blue; in blue;

} cl; } cl;

20.有以下程序

fun(int a, int b)

{ if(a>b) return(a);

else return(b);

}

main()

{ int x=3, y=8, z=6, r;

r=fun(fun(x,y), 2*z);

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

}

程序运行后的输出结果是 (D)

A)3 B)6 C)8 D)12

21.有以下程序段

main()

{ int a=5,*b,**c;

c=&b; b=&a;

……

}

程序在执行了c=&b;b=&a;语句后,表达式:**c的值是 (C)

A)变量a的地址 B)变量b中的值

C)变量a中的值 D)变量b的地址

22. 设有 int x=11; 则表达式 (x++ * 1/3) 的值是 (A)

A) 3 B) 4 C) 11 D) 12

23. 下列程序的输出结果是 (C)

A) 3 B) 3.2 C) 0 D) 3.07

main()

{ double d=3.2; int x,y;

x=1.2; y=(x+3.8)/5.0;

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

}

24. 下列变量定义中合法的是 (A)

A) short _a=1-.le-1; B) double b=1+5e2.5;

C) long do=0xfdaL; D) float 2_and=1-e-3;

25. 以下循环体的执行次数是 (C)

A) 3 B) 2 C) 1 D) 0

main()

{ int i,j;

for(i=0,j=1; i<=j+1; i+=2, j--)printf("%d \n",i);

}

26. 以下叙述正确的是 (D)

A) do-while语句构成的循环不能用其它语句构成的循环来代替。

B) do-while语句构成的循环只能用break语句退出。

C) 用do-while语句构成的循环,在while后的表达式为非零时结束循环。

D) 用do-while语句构成的循环,在while后的表达式为零时结束循环。

27. 下列程序执行后的输出结果是(A)

A) G B) H C) I D) J

main()

{ int x='f'; printf("%c \n",'A'+(x-'a'+1)); }

28. 下列程序执行后的输出结果是 (A)

A) 6 B) 7 C) 8 D) 9

void func(int *a,int b[])

{ b[0]=*a+6; }

main()

{ int a,b[5];

a=0; b[0]=3;

func(&a,b); printf("%d \n,b[0]);

}

29. 下列程序的运行结果是 (B)

A) a=%2,b=%5 B) a=2,b=5

C) a=d, b=d D) a=%d,b=%d

#include

main()

{ int a=2,c=5;

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

30. 设有数组定义: char array [ ]="China"; 则数组 array所占的空间为 (C)

A) 4个字节 B) 5个字节 C) 6个字节 D) 7个字节

31. 下列程序的输出结果是 (B)

A) 5 B) 6 C) 7 D) 8

struct abc

{ int a, b, c; };

main()

{ struct abc s[2]={{1,2,3},{4,5,6}}; int t;

t=s[0].a+s[1].b;

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

}

32. 若有以下调用语句,则不正确的fun函数的首部是 (C)

A) void fun(int m, int x[]) B) void fun(int s, int h[41])

C) void fun(int p, int *s) D) void fun(int n, int a)

main()

{ …

int a[50],n;

fun(n, &a[9]);

}

33. 设已有定义: char *st="how are you"; 下列程序段中正确的是 (A)

A) char a[11], *p; strcpy(p=a+1,&st[4]);

B) char a[11]; strcpy(++a, st);

C) char a[11]; strcpy(a, st);

D) char a[], *p; strcpy(p=&a[1],st+2);

34. 下列程序执行后的输出结果是 (A)

A) you&ne B) you C) me D) err

mai()

{ char arr[2][4];

strcpy(arr,"you"); strcpy(arr[1],"me");

arr[0][3]='&';

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

}

35. 下列程序执行后的输出结果是 (B)

A) 6 B) 8 C) 10 D) 12

#define MA(x) x*(x-1)

main()

{ int a=1,b=2; printf("%d \n",MA(1+a+b));}

36. 变量a所占内存字节数是 (C)

A) 4 B) 5 C) 6 D) 8

union U

{ char st[4];

int i;

long l;

};

struct A

{ int c;

union U u;

}a;

for(k=s=0;k<10&&s<=10;s+=k)

k++;

printf(“k=%d,s=%d”,k,s);

5. 下列程序的输出结果是 5,9 。

#include

int f(int m)

{ static int k=2;

k++;

return k+m;

}

void main( )

{ int s;

s=f(2);

printf(“%d,%dn”,s,f(s));

}

6. 对于以下递归函数f,条用f(3)的返回值是 -2 。 f(int n)

{

return((n<=0)?n:f(n-1)+f(n-2));

}

7. 下列程序的输出结果是 -10 。

int c[ ]={10,0,-10};

int *k=c+2;

printf(“%d”,*k--);

8. 下列程序的输出结果是 2 1 。

int k=1,j=2,*p=&k,*q=p;

p=&j;

printf(“%d %d”,*p,*q);

9. 下列程序的输出结果是 un, g 。 #include

char *f(char *str)

{ return str=”fun”;

}

void main( )

{ char *str=”one”;

printf(“%s,%cn”, f(str)+1,*f(str)+1); }

10. 下列程序的输出结果是 1,3 。 #include

void p(int *x,int y)

{ ++*x; y--; }

void main( )

{ int x=0,y=3;

p(&x,y);

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

}

11. 下列程序的输出结果是 1 0 0 1 。

#include

{ int j,k,a[2][2];

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

for(j=1;j<3;j++)

a[k-1][j-1]=(k/j)*(j/k);

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

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

printf(”%d”,a[k][j]);

}

12. 下面程序的功能是:计算1到10之间奇数之和及偶数之和,请填空。

#include

main()

{ int a, b, c, i;

a=c=0;

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

{ a+=i;

b = i + 1 ;

c+=b;

}

printf("偶数之和=%d\n",a);

printf("奇数之和=%d\n",c-11);

}

13. 下面程序的功能是:输出100以内能被3整除且个位数为6的所有整数,请填空。 #include

main()

{ int i, j;

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

{ j=i*10+6;

if( i % 3 != 0 ) continue; printf("%d",j);

}

}

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、执行下列程序段后输出的结果是()。

C语言程序设计模拟试题A附答案

《C语言程序设计》模拟试卷A 一、单项选择题(每题2分,共20分) 1、下列有关C语言的叙述中错误的就是(D)。 A) C语句必须以分号结束 B) 任何一个C程序中有且只有一个主函数 C) 复合语句在语法上可被瞧作一条语句 D) C程序中对数据的任何操作都可由运算符实现 2、以下不能定义为用户标识符的就是(C)。 A) MAIN B) _HJ C) 2ong D) LINE1 3、以下能正确定义一维数组的就是(C)。 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}; 4、执行下列程序段后输出的结果就是(C)。 x = 9; while (x > 7) { printf(“*”); x- -; } A) **** B) *** C) ** D) * 5、设char str1[10] = “ABCDE”, str2[10] = “xyz”; 则执行语句 printf(“%d”, strlen(strcpy(str1, str2))); 后的输出结果就是(D)。 解析: strcpy(str1,str2); 后,str1[] 里就是"XYZ", Z 后面有字符串结束符 strcpy(str1,str2); 执行后,函数返回的就是str1, 因为str1[] 里就是新值"XYZ", 而 strlen(strcpy(str1,str2)) 就就是strlen(str1的新值),所以得3。 strlen 统计到字符串结束符以前,即,不计入字符串结束符。 A) 9 B) 8 C) 5 D) 3 6、若用数组名作为函数调用的实参,则传递给形参的就是(A)。

C语言自学考试模拟试题及答案

C语言自学考试模拟试题及答案 一、单项选择题 1.各种基本数据类型的存贮空间正确的长度排列为_____C_____. A.Char12?15:6>7?8:9)的值为____C________. A 9 B 8 C 15 D. 1 7.若x=5,y=3 则y*=x+5;y的值为___D____________. A. 10 B. 20 C. 15 D. 30 8.C语言的输入与输出操作是由______C______完成的。 A.输入语句 B.输出语句

二级C语言资料模拟及历年考试编程题答案

二级C语言资料模拟及历年考试编程题答案

作者: 日期:

模拟一 试题7某客户为购房办理商业贷款,选择了按月等额本息还款法,在贷款本金(loan )和月利率(rate)一定的情况下,住房贷款的月还款额(mo ney)取决于还款月数(mo nth), 计算公式如下。客户打算在5?30年的范围内选择还清贷款的年限,想得到一张“还款年限—月还款额表”以供参考。 rate(1 rate)month money loa n (1 rate)month 1 (1)定义函数cal_power(x, n)计算x的n次幕(即x n),函数返回值类型是double。 (2)定义函数cal_mo ney(loa n,rate,mo nth)计算月还款额,函数返回值类型是double,要求调用函数cal_power(x, n)计算x的n次幕。 (3)定义函数main(),输入贷款本金loan (元)和月利率rate,输出“还款年限—月还款额表”,还款年限的范围是5?30年,输出时分别精确到年和元。要求调用函数 cal_mon ey(loa n, rate,m on th)计算月还款额。 #in clude double cal_power(double x,i nt n) { int k; double result=1; for(k=1;k<=n; k++) result*=x; return result; } double cal_ mon ey(double loa n, double rate,i nt month) { double result=cal_power(1+rate,m on th); result=loa n*rate*result/(result-1); return result; } void mai n() { int k,year; double loa n,mon ey,rate; sca nf("%lf%lf", &loa n,& rate); for(year=5;year<=30;year++) { mon ey=cal_m on ey(loa n,rate,12*year); prin tf("year=%d,m on ey=%.0f\n",year,m on ey); } } 试题8编写程序,输入一批学生的成绩,遇0或负数则输入结束,要求统计并输出优秀(大 于85)、通过(60?84)和不及格(小于60)的学生人数。 运行示例:Enter scores: 88 71 68 70 59 81 91 42 66 77 83 0 > =85:2

c语言模拟试卷及答案

c语言模拟试卷及答案

模拟试题 模拟试卷一 一、选择题 1.逻辑运算符两侧运算对象的数据____ A.只能是0或1 B.只能是0或非0正数 C.只能是整型或字符型数据 D.可以是任何类型的数据 2.下面程序段的输出结果是____ int a=023; printf("%d\n",--a); A.23 B.17 C.18 D.24 3.若有定义:int a[3][4]; 下面不能表示数组a[1][1]的是____。 A. *(a[1]+1) B. *(&a[1][1]) C.(*(a+1))[1] D. *(a+5) 4.设有语句:char str1[]="string",str2[8],*str3,*str4="string";则______不是对库函数strcpy的正确调用。 A. strcpy(str1,"HELLO1"); B. strcpy(str2,"HELLO2"); C. strcpy(str3,"HELLO3"); D. strcpy(str4,"HELLO4"); 5.设有定义: int a[4][3]={1,2,3,4,5,6,7,8,9,10,11,12}; int (*prt)[3]=a,*p=a[0]; 则下列能够正确表示数组元素a[1][2]的表达式是______。 A. *((*prt+1)[2]) B. *(*(p+5)) C. (*prt+1)+2 D.*(*(a+1)+2) 6.有以下程序 struct abc { int a, b, c; }; main() { struct abc s[2]={{1,2,3},{4,5,6}}; int t; t=s[0].a+s[1].b; printf("%d\n",t); } 程序运行后输出结果是____。 A.5 B.6 C.7 D.8 7.有以下程序: #include union pw { int i; char ch[2]; } a; main()

C语言模拟题目及答案

:题.选择一1.设float x,y;则以下不合法的赋值语句是______。 x*=y+8; x=y=0; ++x; y=(x%2)/10; 2. 设int k=017,g=111; 执行语句printf(%d,%x,k,g); 的输出是_____。 15,6f f,6f f,111 15,111 3. 对语句for(i=0; ; i++);可理解为_____。 for(i=0;0;i++); for(i=0;!0;i++); for(i=0;3>4;i++); for(i=0;!5;i++); 4. 下面对数组的初始化,错误的是_____。 char s[5]=abc; char s[5]={'a','b','c'}; char s[5]= ; char s[5];s=abc; 5. 设有程序段:int k=10;while(k=0)k=k-1;则下面描述中正确的是______。 是无限循环 while循环执行10次 循环体语句一次也不执行循环体语句只执行一 次 6. 如果x为int型且为5,则执行if(x--<5) printf(%d,x);else printf(%d,x++);后输出结果是______。 3 4 5 6 7. 有如下函数调用语句func(rec1, rec2+rec3, (rec4, rec5));,该函数调用 语句中,含有的实参个数是____。 3 4 5 有语法错 8. 在C语言的if语句中,可用作条件判断的表达式为_____。 算术表达式逻辑表达式 关系表达式任意表达式 9. 若给定条件表达式(n)?(c++):(c--),则与表达式中(n)等价的表达式是_____。 n==0 n==1 n!=0 n!=1 10. 一个函数返回值的类型取决于_____。 调用该函数的主调函数的类型定义函数时指定或缺省 的函数类型调用函数时临时决定 return语句中表达式的类型答案:D A B D C B A D C B 二.填空题: 1.如果static int y=8;main(){ int y=3;printf(%d, y);}则输出结果是______。 2. 若int x=120,y=50; 执行printf(%d,(y,x));后输出结果是______。 3. 若int i, a[10]; 则执行语句 for(i=9;i>=0;i--) a[i]=i+5; 后,a[8]的 值为__________。 4. 在C语言中是没有输入输出语句的,而是通过提供库函数______和printf

C语言程序设计模拟题(含答案).doc

C语言程序设计试题 一、单项选择题(本题共 25 小题,每小题 2 分,共 50 分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其正确答案涂写在答题卡 上。错选、多选或未选均无分。 1.以下正确的 C 语言自定义标识符是 __A____。 A. _1a B. 2a_ C. do D. 2.在 C 语言中,错误的常数表示是 ___D____。 A. 0L C. '6' D. 设 int a, x=2; 执行语句 a=x>03*x:x=10 ;后,变量x 的值是 ___B____。 A. 1 B. 2 C. 6 D. 10 4.设有以下程序段: int x=2,y=2,z=0,a; a=++x||++y&&z++; printf("%d,%d,%d\n",x,y,z); 执行后输出的结果是 ___C______。 A.2,2,0 B. 3, 3,1 C.3,2,0 D.3,2,1 5. 在 C 语言中,字符串"\\TOP\t\65\""的长度是__B_____。 A. 5 B. 7 C. 8 D. 12 6. 设 float x ,由键盘输入: , 能正确读入数据的输入语句是 ___C_____A_。 A. scanf("%5f",&x) B. scanf("%5d",&x); C. scanf("%f",x); D. scanf("%s",&x); 7.逗号表达式a=2*6,a*3,a+5的值是___B______。

A. 12 B. 17 C. 36 D. 41 8.C 语言程序中 , 整型常量的书写形式不包括 ___A______。 A.二进制 B.八进制 C. 十进制 D.十六进制 9.在C语言中,下列运算符中结合性属于自右向左的是________B_。 A. && B. -- C.<< D. -> 10.设int x;,则与计算︱x︱等价的表达式是___B______。 A. x>0-x:x B. x>0x:-x C. x<0x:-x D. x<0-x:-x 11.执行下面的程序段后, k 的值是 __A_____B。 int k=1,n=325; do { k*=n%10;n/=10;}while(n); A. 3 B. 30 C. 523 D. 325 12. 表达式的值为0 的是 ________C_。 A. 5/5%5 B. 5>2 C. !4 D. 0x7&&7 13. 设 int a=11, b=2 ;执行下述程序段后,变量 a 和 b 的值分别是 ___B____。 do { a/=b++; }w hile(a>b); A. 1,3 B. 1,4 C. 2,3 D. 2,4 14.在C语言中,下列错误的说法是_______C。 A.函数可以递归调用

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

《C 语言程序设计》模拟试卷三 一、填空题。(每空2分,共16分) 1 ?在内存中,短整型变量占 _______ 字节,单精度实型变量占 ___________ 字节,字符型变量占 ____________ 字 节。 2?一个C 语言文件就是由若干个 _______________ 组成。 3 ?设有以下变量定义,并已赋确定得值 char w; int x; float y; double z; 则表达式:w*x+z-y 所求得得数据类型为 ____________________________ 。 4?若x 为int 类型,请以最简单得形式写岀与逻辑表达式 !x 等价得C 语言关系表达 式 _______________________________ 。 5.若有如下图所示五个连续得 int 类型得存储单元并赋值如下图,a[0]得地址小于a[4]得地址。p 与s 就 是基类型为int 得指针变量。请对以下问题进行填空。 a[0] a[1] a[2] a[3] a[4] (1 )若p 已指向存储单元 a[1]。 是 。 (2)若指针s 指向存储单元a[2],p 二、单项选择题。(每题 通过指针p,给s 赋值,使s 指向最后一个存储单元 a[4]得语句就 指向存储单元a[0],表达式s-p 得值就是 ________________________________ 2分,共40分) 1.设有int x=11; 则表达式(x++ * 1/3) 得值就是( ) A ) 3 B ) 4 C ) 11 D ) 12 2 ?下列程序得输岀结果就是() A) 3 B) 3、2 C) 0 main() {double d=3、2; int x,y; x=1、2; y=(x+3、8)/5、0; printf( “ %d \n ” , d*y); } 3?下列程序执行后得输岀结果就是 A) 6 6 6、0 6、0 C) 6 6 6、0 6、 7 D) 3、07 (小数点后只写一位)( ) B ) 6 6 6、7 6、7 D ) 6 6 6、7 6、0 main() { double d; float f; long l; int i; i=f=l=d=20/3; printf("%d %ld %f %f \n", i,l,f,d); scanf("%d", &d); } 4?下列变量定义中合法得就是(

c语言期末测模拟试题(附答案)

C 语言程序设计期末模拟试题 第 1页(共8页) 《C 语言程序设计期末模拟试题》 姓名: 学号: 专业: 第一部分 选择题(共 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); A )12345678 B )123,456,78 C )123,45678 D )123,*45678 【 】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)||(b

C语言试卷及答案

一、选择题(每题2分,共40分) 1、C语言源程序的基本单位是( ) A.程序行 B.语句 C.函数 D.字符 2、C语言规定:在一个源程序中,main函数的位置()。 A.必须在最开始B.必须在系统调用的库函数的后面 C.可以任意D.必须在最后 3、在下列字符列中,合法的标识符是( ) A.p12&.a B.stud_100 C. water$12 D.88sum 4、在C语言中,要求运算的数必须是整数的运算符是() A./ B.! C.% D.= = 5、设有语句 int a =3;则执行了语句a + = a - = a*a;后,变量a的值是() A、3 B、0 C、9 D、-12 6、设a=5,b=6,c=7,d=8,m=2,n=2,执行(m=a > b)&&(n=c>d)后n的值为() A、1 B、2 C、3 D、4 7、执行下列程序时输入:1234567,程序的运行结果是() main() { int x,y; scanf(“%2d%*2c%1d”,&x,&y); printf(“%d\n”,x+y); } A.17 B.46 C.15 D.9 8、下述程序的输出结果是() #include void main() {int x=-1,y=4; int k; k=++x<=0&&!(y--<=0); printf("%d,%d,%d",k,x,y);} A.0,0,3 B.0,1,2, C.1,0,3, D.1,1,2 9、为了避免嵌套的if-else语句的二义性,C语言规定else总是与()组成配对关系。 A.缩排位置相同的if B.在其之前未配对的if C.在其之前未配对的最近的if D.同一行上的if 10、两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是() main() {int x; scanf(“%d“,&x); if(x++>5)printf(“%d”,x); else printf(“%d\n”,x--); } A.7和5 B.6和3 C.7和4 D.6和4 11、若变量c为char类型,能正确判断出c为小写字母的表达式是( ) A. 'a'<=c<= 'z' B. (c>= 'a')||(c<= 'z') C. ('a'<=c)and ('z'>=c) D. (c>= 'a')&&(c<= 'z') 12、已知int x=10,y=20,z=30;以下语句执行后x,y,z的值是。 if(x>y) z=x; x=y; y=z; A.x=10, y=20, z=30 B.x=20, y=30, z=30 C.x=20, y=30, z=10 D.x=20, y=30, z=20 13、以下程序的输出结果为

C语言程序设计模拟试题一(含答案)

C语言程序设计模拟试题一(含答案) 1、下列述叙中正确的是 A) 显示器和打印机都是输出设备 B) 显示器只能显示字符 C) 通常的彩色显示器都有7种颜色 D) 打印机只能打印字符和表格 2、微型计算机中运算器的主要功能是进行 A) 算术运算B) 逻辑运算 C) 算术和逻辑运算D) 初等函数运算 3、https://www.wendangku.net/doc/ad3497983.html,是DOS系统的最外层模块,通常称之为 A) 引导程序B) 输入输出系统 C) 命令处理系统D) 文件管理系统 4、电子邮件是 A) 网络信息检索服务 B) 通过Web网页发布的公告信息 C) 通过网络实时交互的信息传递方式 D) 一种利用网络交换信息的非交互式服务 5、和十进制数225相等的二进制数是 A) 11101110 B) 11111110 C) 10000000 D) 11111111 6、下列叙述中正确的是 A) 指令由操作数和操作码两部分组成\ B) 常用参数xxMB表示计算机的速度 C) 计算机的一个字长总是等于两个字节

D) 计算机语言是完成某一任务的指令集 7、计算机的内存储器比外存储器 A) 价格便宜B) 存储容量大 C) 读写速度快D) 读写速度慢 8、设当前盘为C盘,执行DOS命令"COPY B:\A.TXT PRN"之后,结果是 A) B盘上的A.TXT文件被复制到C盘的PRN文件 B) 屏幕上显示B盘上的A.TXT文件内容 C) B盘上的A.TXT文件内容在打印机上输出 D) B盘上的A.TXT文件被复制到B盘上的PRN文件 9、要将当前盘当前目录下的两个文件X1.TXT和B1.TXT连接起来之后存入B盘当前目录下并且命名为Z.TXT,无论B 盘当前目录是什么,完成这件任务可以使用的命令是 A) COPY A:X1.TXT+C:B1.TXT Z.TXT B) COPY X1.TXT+C:\\WS\\B1.TXT B:\\Z.TXT C) COPY A:X1.TXT+C:\\WS\\B1.TXT D) COPY X1.TXT+B1.TXT B:Z.TXT 10、下列四组DOS命令中,功能等价的一组是 A) COPY A:*.* B:与DISKCOPY A: B: B) COPY ABC.TXT+XYZ.TXT 与TYPE XYZ.TXT>>ABC.TXT C) COPY ABC.TXT+XYZ.TXT与COPY XYZ.TXT+ABC.TXT D) TYPE *.FOR>CON与COPY *.FOR CON 11、设当前目录为D:\BB,现要把D:\AA目录下首字符是A的文本文件全部删除,应该使用命令 A) DEL A*.TXT B) DEL \\AA\\A.TXT C) DEL \\AA\\A*.TXT D) DEL \\AA\\A?.TXT 12、在Windows中,启动应用程序的正确方法是 A) 用鼠标指向该应用程序图标

全国计算机等级考试二级C语言模拟试题及答案(一)

全国计算机等级考试二级C语言模拟试题及答案(一) 一、选择题 (1)栈和队列的共同特点是 A)都是先进先出 B)都是先进后出 C)只允许在端点处插入和删除元素 D)没有共同点 正确答案: C (2)已知二叉树后序遍历序列是dabec,中序遍历序列是debac,它的前序遍历序列是 A)acbed B)decab C)deabc D)cedba 正确答案: D (3)链表不具有的特点是 A)不必事先估计存储空间 B)可随机访问任一元素 C)插入删除不需要移动元素

D)所需空间与线性表长度成正比 正确答案: B (4)结构化程序设计的3种结构是 A)顺序结构、选择结构、转移结构 B)分支结构、等价结构、循环结构 C)多分支结构、赋值结构、等价结构D)顺序结构、选择结构、循环结构 正确答案: D (5)为了提高测试的效率,应该 A)随机选取测试数据 B)取一切可能的输入数据作为测试数据C)在完成编码以后制定软件的测试计划D)集中对付那些错误群集的程序 正确答案: D (6)算法的时间复杂度是指 A)执行算法程序所需要的时间 B)算法程序的长度 C)算法执行过程中所需要的基本运算次数D)算法程序中的指令条数 正确答案: C

(7)软件生命周期中所花费用最多的阶段是 A)详细设计 B)软件编码 C)软件测试 D)软件维护 正确答案: D (8)数据库管理系统DBMS中用来定义模式、内模式和外模式的语言为A)C B)Basic C)DDL D)DML 正确答案: C (9)下列有关数据库的描述,正确的是 A)数据库是一个DBF文件 B)数据库是一个关系 C)数据库是一个结构化的数据集合 D)数据库是一组文件 正确答案: C (10)下列有关数据库的描述,正确的是 A)数据处理是将信息转化为数据的过程 B)数据的物理独立性是指当数据的逻辑结构改变时,数据的存储结构不变

C语言模拟复习题及答案

一、选择题 1. 以下叙述错误的是 A 。 A.C程序在书写时,有严格的缩进要求,否则不能编译通过B.一个C程序只能有一个主函数 C.一个C程序可以包含多个不同名的函数 D.C程序的主函数必须用main作为函数名 2. 下列程序段的输出结果是 4 3 2 1 。 void fun(int *x, int *y) { printf("%d %d ", *x, *y); *x=1; *y=2;} main() { int x=3,y=4; fun(&y,&x); printf("%d %d",x, y); } 3. 若有定义语句:int x=3,y=2,z;在其后执行语句z=0.9+x/y;则z 的值为 1 。 4. 有以下程序 #include main() { int a; scanf("%d",&a); if(a++<8) printf("%d\n",a); else printf("%d\n",a--); }

程序运行时键盘输入8<回车>,则输出的结果是9 。 5. 以下定义整型3行4列的二维数组a并初始化不正确的是 C 。 A.int a[3][4]={0} B.int a[][4]={0,1,2,3,4,5,6,7,8,9,10,11,12} C.int a[3][]={0,1,2,3,4,5,6,7,8,9,10,11,12} D.int a[3][4]={{1,2},{1,2,3},{1,2,3,4}} 6. 有以下程序 #include main() { int c=0,k; for (k=1;k<3;k++) switch (k) { default: c+=k; case 2: c++;break; case 4: c+=2;break; } printf(“%d\n”,c); } 程序运行后的输出结果是 3 。 7. 已知如下定义(设long型变量占4个字节,float型占4个字节,char型占1个字节) union student

2020年全国计算机等级考试二级C语言全真模拟试卷及答案(一)

2020年全国计算机等级考试二级C语言全真模 拟试卷及答案(一) 一、选择题 在下列各题的A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确的选项涂写在答题卡相应位置上,答在试卷上不得分。(1)为了避免流程图在描述程序逻辑时的灵活性,提出了用方框图来代替传统的程序流程图,通常也把这种图称为 A)PAD图B)N-S图C)结构图D)数据流图 (2)结构化程序设计主要强调的是 A)程序的规模B)程序的效率C)程序设计语言的先进性 D)程序易读性 (3)为了使模块尽可能独立,要求 A)模块的内聚程度要尽量高,且各模块间的耦合程度要尽量强 B)模块的内聚程度要尽量高,且各模块间的耦合程度要尽量弱 C)模块的内聚程度要尽量低,且各模块间的耦合程度要尽量弱 D)模块的内聚程度要尽量低,且各模块间的耦合程度要尽量强(4)需求分析阶段的任务是确定 A)软件开发方法B)软件开发工具C)软件开发费用 D)软件系统功能 (5)算法的有穷性是指 A)算法程序的运行时间是有限的 B)算法程序所处理的数据量是有限的 C)算法程序的长度是有限的 D)算法只能被有限的用户使用 (6)对长度为n的线性表排序,在最坏情况下,比较次数不是n(n-1)/2的排序方法是 A)快速排序B)冒泡排序C)直接插入排序D)堆排序 (7)如果进栈序列为e1,e2,e3,e4,则可能的出栈序列是 A)e3,e1,e4,e2 B)e2,e4,e3,e1 C)e3,e4,e1,e2 D) 任意顺序 (8)将E-R图转换到关系模式时,实体与联系都可以表示成 A)属性B)关系C)键D)域 (9)有三个关系R、S和T如下: R B C D a 0 k1 b 1 n1

C语言模拟题答案

一、单选题:(每题1.5分,共60分) 1、C程序是( ) A.顺序执行 B.从Main函数开始 C.从函数体开始 D.任意语句 答案:B 2、以下说法中正确的是( )。 A.C语言程序中是从第一定义的函数开始执行 B.在C语言程序中,要调用的函数必须在main()函数中定义 C.C语言程序总是从main()函数开始执行 D.C语言程序中的main()函数必须放在程序的开始部分 答案:C 3、算法的表示方法有________。 A.自然语言,传统流程图,N-S流程图,伪代码,计算机语言 B.高级语言,汇编语言,机器语言 C.C语言,QBASIC语言,InterDev D.图形图像法,描述法,编程法 E.计算机语言 答案:A 4、以下选项中,非法的字符常量是( ) A.'\t' B.'\17' C."n" D.'\xaa' 答案:C 5、以下所列的C语言常量中,错误的是 A.0xFF B.1.2e0.5 C.2L D.'\72' 答案:B 6、下列变量名合法的是( ) A.#1 B.$567 C.a-b D.m_number 答案:D 7、下面四个选项中,均是不正确的八进制数或十六进制数的选项是 A.016 0x8f 018 B.0abc 017 0xa C.010 -0x11 0x16

D.0a12 7ff -123 答案:D 8、sizeof(float)是 A.一个双精度型表达式 B.一个整型表达式 C.一种函数调用 D.一个不合法的表达式 答案:B 9、C语言中,double类型数据占( )个字节,char类型数据占( )个字节 A.1 B.2 C.4 D.8和1 答案:D 10、当c的值不为0时,在下列选项中能正确将c的值赋给变量a、b的是 A.c=b=a; B.(a=c) ‖(b=c) ; C.(a=c) &&(b=c); D.a=c=b; 答案:C 11、若已定义x和y为double型,则表达式:x=1,y=x+3/2的值是( ) A.1 B.2 C.2.0 D.2.5 答案:C 12、执行语句x=(a=3,b=a--)后x,a,b的值为; A.3 3 2 B.3 2 2 C.3 2 3 D.2 3 2 答案:C 13、语句printf("a\bre\'hi\'y\\\bou\n");的输出结果是 A.a\bre\'hi\'y\\\bou B.a\bre\'hi\'y\bou C.re'hi'you D.abre'hi'y\bou 答案:C 14、在下列运算符中,优先级别最高的是 A.<= B.= C.% D.&& 答案:C

C语言模拟试卷2(带答案)

单选题: 1、执行下面的程序段后,变量k中的值为 s[0]=k; k=s[1]*10; A. 不定值 B. 33 C. 30 D. 10 答案: A 2、设有以下定义: #define N 3 #define Y(n) ( (N+1)*n) 则执行语句:z=2 * (N+Y(5+1));后,z的值为_______.2*(3+ (4*5+1) A. 出错 B. 42 C. 48 D. 54 答案: C 3、若已定义X和Y为double型,则表达式:x=1,y=x+3/2的值是____ A. 1 B. 2 C. 2.0 D. 2.5 答案: c 4、请选出以下语句的输出结果____ printf("%d\n",strlen("\t\ 065\xff\n")) A. 5 B. 4 C. 8 D. 输出项不合法,无正常输出 答案: B 5、为避免嵌套的条件分支语句if…else的二义性,C语言规定,C 程序中的 else总是与____组成配对关系。 A. 其上面距它最近的,并且没有其他else与其配对的if相配对 B. 在同一行上的if C. 缩排位置相同的if D. 在其之前未配对的if 答案: A 6、若X和Y都是int型变量,X=100,Y=200,且有下面的程序片段: printf("%d",(X,Y)); 上面程序片段的输出结果是 A. 200 B. 100 C. 100 200 D. 输出格式符不够,输出不确定的值 答案: A 7、请读程序片段(字符串内没有空格字符): printf("%d\n", strlen("ATS\n012\1\\")); 上面程序片段的输出结果是 A. 11 B. 9 C. 10 D. 8 答案: B 8、设有以下程序段 int x=0,s=0; while(!x!=0) s+=++x; printf("%d",s); 则______ A. 运行程序段后输出0 B. 运行程序段后输出1 C. 程序段中的控制表达式是非法的 D. 程序段执行无限次 答案: B 9、阅读下列程序: main( ) { int n[3],i,j,k; for(i=0;i〈3;i++) n[i]=0; k=2; for (i=0;i < k;i++) i=0: n[0]=1,n[1]=2 i=1: =3 =3 for (j=0;j〈2;j++) n[j]=n[i]+1; printf("%d\n",n[1]); } 下述程序运行后输出结果是 A. 2 B. 1 C. 0 D. 3 答案: D 10、输入一个华氏温度,要求输出摄氏温度。计算公式为: c=5/9(F-32),以下程序正确的是() A. main() { float c,F; scanf("%f,%f",&c,&F); c=5/9*(F-32); printf("摄氏温度是:%f\n",c); }

c语言程序设计课程模拟试卷及答案2015年秋季用,

一、单选题(每小题2分,共20分) 1. C语言源程序文件的缺省扩展名为( c )。 2.设x和y均为逻辑值,则x && y为真的条件是x和y( 均为真 )。 3. 在下列的符号常量定义中,正确的定义格式为( #define M3 10 )。 4. for循环语句能够被改写为( while )语句。 5. 在下面的一维数组定义中,错误的定义格式为( int a[]; )。 6.在下面的函数原型声明中,存在语法错误的是(int AA(int a; int b;); )。 7. 假定a为一个数组名,则下面存在错误的表达式为( *a++ )。 8. 假定有定义为“int a[10], x, *pa=a;”,若要把数组a中下标为3的元素值赋给x,则不正确的赋值为( x=*pa+3 )。 9.字符串"y=%d\n"的长度为__5__。 10. 向一个二进制文件中写入信息的函数为(fwrite() )。 二、填空题(每小题2分,共26分) 1.执行“printf("%c",'A'+3);”语句后得到的输出结果为_D_ 2.短整数类型short int的长度为2 3. 用类型关键字表示十进制常数3.26f的类型为_float 4. 假定y=10,则表达式++y*3的值为_33 5. 逻辑表达式(x==0 && y>5)的相反表达式为_(x!=0 || y<=5) 或:(x || y<=5) 6.若x=5,y=10,则x!=y的逻辑值为_1(真,true) 7. 假定二维数组的定义为“int a[3][5];”,则该数组所占存储空间的字节数为_60 8. 使用“typedef char BB[10][50];”语句定义_BB为含有10行50列的二维字符数组类型。 9. 字符串"a:\\xxk\\ff"的长度为9 10.假定p所指对象的值为25,p+1所指对象的值为46,则*++p的值为_46 11. 假定一个数据对象为int*类型,则指向该对象的指针类型为_int** 12.假定一个结构类型的定义为“struct A{int a,b; struct A* c;};”,则该类型的理论长度为__12 13. 假定要访问一个结构对象x中的数据成员a,则表示方式为_x.a 三、写出下列每个程序运行后的输出结果(每小题6分,共30分) 1. #include void main() { int x=3; switch(2*x+1) { case 4: printf("%d ",x); break; case 7: printf("%d ",2*x); break; case 10: printf("%d ",3*x); break; default: printf("%s ","default"); } }输出结果:6 2. #include void main() { int f=1,i; for(i=1;i<4;i++) f=3*f+1; printf("%d ",f); }输出结果:40 3. #include void main() { int a[8]={12,39,26,41,55,63,72,40}; int i, c=0; for(i=0; i<8; i++) if(a[i]%3==0) c++; printf("%d\n",c); }输出结果:4 4. #include #include void main( ) {

C语言模拟试卷及答案

《C语言程序设计》考试试卷(答案) 一、填空题(每小空1分,共10分) 1.C语言程序的三种基本结构是顺序结构、选择结构、循环结构。 2.一个C程序有且仅有一个main( ) 函数。 3.C语言描述“x和y都大于或等于z”的表达式是x>=z && y>=z。 4.C语言可以用来实现循环的结构化语句是while、do while、for。 5.数组名表示数组在内存的首地址。 6.int a=3,*p=&a;*p+2的值是5。 二、单项选择题(每小题2分,共70分) 1._____是C语言合法的标识符。 2.(A)3_sy45 (B)su_m (C)@123 (D)3D64 3.一个程序的执行是从。 4.(A)本程序的main函数开始,到main函数结束 5.(B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束。 6.(C)本程序的main函数开始,到本程序文件的最后一个函数结束。 7.(D)本程序文件的第一个函数开始,到main函数结束。 8.以下叙述正确的是。 9.(A)在C程序中,main函数必须位于程序的最前面。 10.(B)C程序每行中只能写一条语句。 11.(C)C语言本是没有输入输出语句。 12.(D)在对一个C程序进行编译的过程中,可发现注释中的拼写错误。 13.以下叙述不正确的是。 14.(A)逗号运算符的运算级最低。 15.(B)ABC和abc是两个不同的变量。 16.(C)若a和b类型相同,在执行a=b后,b的自身值不变。 17.(D)‘a’和“a”是完全等价的常量。 18.int x=3,y=2;则表达式x+=x*=y+8的值为。 19.(A)28 (B)30 (C)60(D)17 20.在c语言中,变量的隐含存储类别是。 21.(A)auto (B)static (C)extern (D)无存储类别 22.执行下面两个语句后,输出的结果为_____。

(完整版)C语言程序设计试卷及参考答案

《C语言程序设计》期末考试模拟试卷及参考答案(B) 2012.6.5整理 一、选择题(每题2分,共30分) 1、# include 的结果是______ void main ( ) { int a[3][3]={1,2,3,4,5,6,7,8,9}; int s=0,i; for (i=0;i<3;i++) s+=(*(a+i))[i]; printf("%d",s); } A.9 B.12 C.14 D.15 参考答案—D 2、设有说明语句:char a= '\123abc';则变量a __________ A. 包含7个字符 B.包含6个字符 C. 包含5个字符 D. 包含4个字符 参考答案—D 3、有以下程序段 int k=0 while(k=1)k++; while 循环执行的次数是_____ A. 无限次 B.有语法错,不能执行 C. 一次也不执行 D. 执行1次 参考答案—A 4、在C语言中,_____。 A.函数定义可以嵌套,但函数调用不能嵌套 B.函数定义不可以嵌套,但函数调用可以嵌套 C.函数定义和调用均不能嵌套 D.函数定义和调用均可以嵌套 参考答案—B 5、以下叙述正确的是________

A)do-while语句构成的循环不能用其它语句构成的循环代替。 B)do-while语句构成的循环只能用break语句退出。 C)用do-while语句构成的循环,在while后的表达式为非零时结束循环。 D)用do-while语句构成的循环,在while后的表达式为零时结束循环。 参考答案—D 6、以下关于函数叙述中,正确的是。 A.在函数体中可以直接引用另一个函数中声明为static类别的局部变量的值 B.在函数体中至少必须有一个return 语句 C.在函数体中可以定义另一个函数 D.在函数体中可以调用函数自身 参考答案—D 7、以下数组声明语句中正确的是。 A.int a,a[n]; B.int a[ ]; C. int a[2][3]={{1},{2},{3}}; D.int a[ ][3]={{1},{2},{3}}; 参考答案—C 8、以下不能正确进行字符串赋初值的语句是________ A.char str[5]= "good!"; B.char str[ ]= "good!"; C.char *str="good!"; D.char str[5]={ 'g','o','o','d'}; 参考答案—A 9、以下关于switch语句和break语句的描述中,只有______是正确的。 A.在switch语句中必须使用break语句 B.在switch语句中,可以根据需要使用或不使用break语句 C.break语句只能用于switch语句中 D.break语句是switch语句的一部分 参考答案—B

相关文档
相关文档 最新文档