剑伴谁在在C语言科目下第1次生成专属的模拟试卷

剑伴谁在在C语言科目下第1次生成专属的模拟试卷
剑伴谁在在C语言科目下第1次生成专属的模拟试卷

剑伴谁在在C语言科目下第1次生成专属的模拟

试卷

试卷说明:

◇ 本卷共分为 4大题 43小题,作答时间为 120分钟,总分 100 分,60 分及格。

◇ 试卷年份:2014 年

◇ 试卷来源:233网校

一、选择题(每小题1分,共40分)

1设变量已正确定义,则以下能正确计算f=n!的程序是()。

A.

f=0; for(i=1;i<=n;i++)f*=i;

B.

f=1;for(i=1;i

C.

f=1;for(i=n;i>1;i++)f*=i;

D.

f=1;for(i=n;i>=2;i--)f*=i;

纠错

标记

2有以下程序:

#include

int fun()

{static int x=1;

X*=2;return X;

main()

int i,s=1;

for(i=1;i<=2;i++)s=fun();printf{¨%d\n",s);

}

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

A.

B.

1

C.

4

D.

8

纠错

标记

3有以下程序:

#include

void fun(int*s)

{ static int i=0;

do{s[J]=s[J]+s[j+I];}while(++j<2);

}

main()

{ int k.a[l0]={1,2,3,4,5};

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

for(k=0;k<5;k++)pfintf("%d",a[k]);printf("\n");

}

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

A.

12345

B.

23445

C.

34756

D.

35745

纠错

标记

4若i和k都是int类型变量,有以下for语句:for(i=0,k=-1;k=1;k++)printf("**** *\n");下面关于语句执行情况的叙述中正确的是()。

A.

循环体执行两次

B.

循环体执行一次

C.

循环体一次也不执行

D.

构成无限循环

纠错

标记

5若有定义语句:“int a=3,b=2,c=1;”,以下选项中错误的赋值表达式是()。

A.

a=(b=4)=3;

B.

a=b=c+1:

C.

a=(b=4)+C;

D.

a=1+(b=c一4);

纠错

标记

6下列关于C语言文件的叙述中正确的是()。

A.

文件由一系列数据依次排列组成,只能构成二进制文件B.

文件由结构序列组成,可以构成二进制文件或文本文件C.

文件由数据序列组成,可以构成二进制文件或文本文件D.

文件由字符序列组成,其类型只能是文本文件

纠错

标记

7有以下程序:

#include

main()

{ char*s="[2]34";int k=0,a=0;

whil(s[k+1]!='\0')

{ k++;

if(k%2=o){a=a+(s[k]-'0'+1);continue; }

a=a+(s[k]-'0');

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

}

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

A.

k=6 a=11

B.

k=3 a=14

C.

k=4 a=12

D.

k=5 a=15

纠错

标记

8以下叙述正确的是()。

A.

C语言程序是由过程和函数组成的

B.

C语言函数可以嵌套调用,例如:fun(fun(x))

C.

C语言函数不可以单独编译

D.

C语言中除了main函数,其他函数不可作为单独文件形式存在纠错

标记

9有以下程序:

#include

void f(int*p);

main()

{int a[5]={1,2,3,4,5),*r=a;

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

}

void f(int*p)

{p=p+3;printf("%d,",*p);}

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

A.

1,4

B.

4,4

C.

3,1

D.

4,1

纠错

标记

10以下关于return语句的叙述中正确的是()。

A.

一个自定义函数中必须有一条return语句

B.

一个白定义函数中可以根据不同情况设置多条return语句

C.

定义成void类型的函数中可以有带返回值的return语句

D.

没有return语句的自定义函数在执行结束时不能返回到调用处

纠错

标记

11以下不能将S所指字符串正确复制到t所指存储空间的是( )。

A.

while(*t=*s){t++;s++;)

B.

for(i=0;t[i]=s[i];i++);

C.

do{*t++=*s++;)while(*s);

D.

for(i=0,j=o;t[i++]=s[j++];);

纠错

标记

12有以下程序:

#include

main()

{ char a[20],b[20],c[20];

scanf("%s%s",a,b);

gets(c);

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

}

程序运行时从第一列开始输入:

This is a cat!<回车>

则输出结果是()。

A.

Thisisacat!

B.

Thisis a

C.

Thisis a cat!

D.

Thisisa cat !

纠错

标记

13若以下选项中的变量全部为整型变量,且已正确定义并赋值,则语法正确的switch语句是()。

A.

switch(a+9)

{case cl:y=a-b;

case c2:y=a+b;

}

B.

switch a*b

{case l0:x=a+b;

default:y=a-b;

}

switch(a+b)

{casel:case3:y=a+b;break;

case0:case4:y=a-b;

}

D.

switch(a*a+b*b)

{default:break;

case 3:y=a+b;break;

case 2:y=a-b;break;

}

纠错

标记

14有以下定义:“int a;long b;double X,Y;”,则以下选项中正确的表达式是( )。

A.

a%(int x—y)

B.

a=x!=Y;

C.

(a*y)%b

D.

y=x+y=X

纠错

标记

15表达式a+=a-=a=9的值是( )。

A.

9

B.

-9

C.

D.

纠错

标记

16设有定义:

struet complex

{int real,unreal;)datal={1,8},data2;则以下赋值语句中错误的是()。

A.

data2=datal;

B.

data2={2,6};

C.

data2.real=datal.real;

D.

data2.real=datal.unreal;

纠错

标记

17有以下程序:

#include

main()

{char s[]={"012xy"};int i,n=o;

for(i=0;s[i]!=0;i++)

if(s[i]>='a'&&s[i]<='z')n++;

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

}

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

A.

2

C.

3

D.

5

纠错

标记

18以下选项中关于程序模块化的叙述错误的是()。

A.

把程序分若干相对独立的模块,可便于编码和调试

B.

把程序分成若干相对独立、功能单一的模块,可便于重复使用这些模块

C.

可采用自低向上、逐步细化的设计方法把若干独立模块组装成所要求的程序D.

可采用自顶向下、逐步细化的设计方法把若干独立模块组装成所要求的程序纠错

标记

19有三个关系R、S和T如下:

由关系R和S得到关系T的操作是()。

A.

自然连接

B.

C.

D.

纠错

标记

20下列合法的声明语句是()。

A.

int_abc=50;

B.

double int=3+5e2.5;

C.

long do=1L:

D.

float 3_asd=3e-3;

纠错

21软件测试的目的是( )。

A.

评估软件可靠性

B.

发现并改正程序中的错误

C.

改正程序中的错误

D.

发现程序中的错误

纠错

标记

22若有定义语句“int a,b;double X;”,则下列选项中没有错误的是( )。

A.

switch(X%2)

{ case 0:a++;break;

case l:b++;break;

default:a++;b++;

}

B.

switch((int)x/2.O)

{ case 0:a++;break;

case l:b++;break;

default:a++;b++;

}

C.

switch((int)X%2)

{ case 0:a++;break;

case l:b++;break;

default:a++;b++;

}

switch((int)(x)%2)

{ case 0.0:a++;break;

case l.0:b++;break;

default:a++;b++;

}

纠错

标记

23层次型、网状型和关系型数据库划分原则是( )。

A.

记录长度

B.

文件的大小

C.

联系的复杂程度

D.

数据之间的联系方式

纠错

标记

24下列数据结构中,属于非线性结构的是()。

A.

循环队列

B.

带链队列

C.

二叉树

D.

带链栈

纠错

25在面向对象方法中,实现信息隐蔽是依靠()。

A.

对象的继承

B.

对象的多态

C.

对象的封装

D.

对象的分类

纠错

标记

26若有定义语句:“int a=10;double b=3.14;”,则表达式'A'+a+b值的类型是()。

A.

char

B.

int

C.

double

D.

float

纠错

标记

27若有定义语句:“char*s1=”0K”,*s2=”ok”;”,以下选项中,能够输出“OK”的语句是()。

A.

if(strcmp(sl,s2)= =0)puts(s1);

B.

if(strcmp(sl,s2)!=0)puts(s2);

C.

if(strcmp(sl,s2)= =l)puts(s1);

D.

if(stremp(sl,s2)!=0)puts(s1);

纠错

标记

28有以下程序:

#include

main()

{ char s[]="rstuv";

printf("%c\n",*s+2);

}

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

A.

tuv

B.

字符t的ASCIl码值

C.

t

D.

出错

纠错

标记

29以下叙述中错误的是( )。

A.

C程序在运行过程中所有计算都以二进制方式进行B.

C程序在运行过程中所有计算都以十进制方式进行

C.

所有C程序都需要编译链接无误后才能运行

D.

C程序中整型变量只能存放整数,实型变量只能存放浮点数纠错

标记

30软件生命周期是指( )。

A.

软件产品从提出、实现、使用维护到停止使用退役的过程B.

软件从需求分析、设计、实现到测试完成的过程

C.

软件的开发过程

D.

软件的运行维护过程

纠错

标记

31有以下程序:

#include

main()

{ int a=2,b;

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

}

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

A.

2

B.

4

C.

6

D.

8

纠错

标记

32设有以下语句

char chl,ch2; scanf("%c%C",&chl,&ch2);

若要为变量chl和ch2分别输入字符A和B,正确的输入形式应该是()。

A.

A和B之间用逗号间隔

B.

A和B之间不能有任何间隔符

C.

A和B之间可以用回车间隔

D.

A和B之间用空格间隔

纠错

标记

33有以下程序:

#include

#include

void fun(int*pl,int*p2,int*s)

{ s=(int*)malloc(sizeof(int));

*s=*pl+*p2;

free(s);

}

main()

{ int a=1,b=40,*q=&a;

fun(&a,&b,q);

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

}

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

A.

42

B.

C.

1

D.

41

纠错

标记

34有以下程序(注:字符a的ASCIl码值为97)

#include

main()

{ char*s={"abc")

do

{printf("%d",*S%10");++S; }

while(*s);

}

陧序运行后的输出结果是()。

A.

abc

B.

789

C.

7890

D.

979899

纠错

标记

35以下选项中不能用做C程序合法常量的是()。

A.

1,234

B.

‘\123’

C.

123

D.

“\x7G”

纠错

标记

36设fp已定义,执行语句“fp=fopen("file","w");”后,以下针对文本文件file操作叙述的选项中正确的是()。

A.

写操作结束后可以从头开始读

B.

只能写不能读

C.

可以在原有内容后追加写

D.

可以随意读和写

纠错

标记

37以下函数不能用于向文件中写入数据的是()。

A.

hell

B.

fwrite

C.

fputc

D.

fprintf

纠错

标记

38下列关于栈的叙述中,正确的是()。

A.

栈底元素一定是最后入栈的元素

B.

栈操作遵循先进后出的原则

C.

栈顶元素一定是最先入栈的元素

D.

以上三种说法都不对

纠错

标记

39下面不属于软件设计阶段任务的是()。

A.

制订软件确认测试计划

B.

数据库设计

C.

软件总体设计

D.

算法设计

纠错

标记

40以下选项中关于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语言模拟试卷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语言程序设计模拟试题5(附答案)

《C语言程序设计》模拟试题五 一、填空题(40分) 1.计算机软件分为和;C语言适合编 写 . 2.十进制数35=( ) 2 =( ) 8 =( ) 16 3.已知一个数[X]补=11111001,求[X] 原 = 及 X= . 4.设x=2.5,a=7,y=4.7.求下列算术表达式的值. x+a%3*(int)(x+y)%2/3= . 5.将算式|3-e x ln(1+Y)|写成C语言表达 式. 6.设a=5,b=9.则printf(“a=%d,b=%4d”,a,b)输出为: . 7.用C语句写出累加器、累乘 器、计数器. 8.上机操作时,CTRL+F9键的功能是 ,F2键的功能 是ALT+F5键的功能是 . 9.下列程序段对应的数学表达式 是 int t,n,s=0; scanf(“%d”,&n); for(i=1;i<=n;i++) { t=1; for(j=1;j<=i;j++) t=t*j; s=s+t;} 10.以下程序用“顺序查找法”查找数组a中是否存在某一关键字. 请填空. main() {int a[10]={25,57,48,38,12,92,88,48,16,25}; int i,x; scanf(“%d”,&X); for(i=0;i<10;i++) if (x==a[i]) {printf(“Found!The index:%d\n”a[i]);(1) ;} if (2) printf(“Can not found!”); }

二、单选题(15分) 1.一个C程序的执行是从 . A.本程序的main()函数开始,到main函数结束. B.本程序文件的第一个函数开始,到本程序文件的最后一个函数结束. C.本程序的main()函数开始,到本程序文件的最后一个函数结束. D.本程序文件的第一个函数开始,到本程序main函数结束. 2.根据下面的程序及数据的输入和输出形式,程序中输入语句的正确形式 为 . main() { int a,b,c; 输入语句; printf(“%c%c%c”,a,b,c); } 输入形式:A B C 输出形式:ABC A.scanf(“%c%c%c”,&a,&b,&c); B.scanf(“%c,%c,%c”,&a,&b,&c); C.scanf(“%c %c %c”,&a,&b,&c); D.scanf(“%c%c”,&a,&b); 3.给出下列程序的运行结果 . main() {int i,j,k,x=0; for(i=2;i<=5;i++) for(j=7;j>=3;j-=2) for(k=4;k<=11;k+=4) x++; printf(“x=%d”,x);} A.x=64 B. x=36 C.x=60 D. x=24 4.若x,i,j和k都是int型变量,则表达式计算下面表达式后,x的值 为 . x=(i=4,j=16,k=32) A. 4 B. 16 C.32 D.52 5.以下不正确if语句形式是 . A.if ( x>y && x!=y ); B.if ( x = = y ) x + = y; C. if ( x != y ) scanf(“%d”,&x) else scanf(“%d”,&y);

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语言模拟试卷A

《C语言程序设计》模拟试卷A (闭卷考试) 一、选择题(每题 分,共 分) 、以下不正确的 语言标识符是 。 、设有说明: 则表达式 值的数据类型为: 。 、根据下述定义,可以输出字符 的语句是 。

、以下说法中正确的是: 。 语言程序总是从第一个定义的函数开始执行 在 语言程序中,要调用的函数必须放在 函数中定义 语言程序总是从 函数开始执行 语言程序中的 函数必须放在程序的开始部分 、在定义 之后,对 的引用正确的是 。 、以下不能正确赋值的是 。 、设 和 都是 类型,则 循环语句 。 最多执行 次 最多执行 次 是无限循环 循环体一次也不执行 、 语言中表示“在使用 之前,先使 的值加 ”的正确方式是 。 、设有说明 其中 是 。

个指向整型变量的指针 指向 个整型变量的函数指针 一个指向具有 个整型元素的一维数组的指针 具有 个指针元素的一维指针数组,每个元素都只能指向整型量 、在下面关于指针的说法中,错误的一条是 。 变量的指针就是变量的地址 可以将一个整型量或任何其他非地址类型的数据赋给一个指针变量 一个指针变量只能指向同一类型的变量 指针变量中只能存放地址(指针) 二、读程序写结果(每题 分,共 分) 、以下程序运行后输出的结果是: 、若输入 ,以下程序的输出结果是:

、以下程序的输出结果是 、以下程序的输出结果是

、以下程序的输出结果是 、以下程序的输出结果是

; 、以下程序的输出结果是 三、程序填空(每空 分,共 分) 、将一个数组中的元素按逆序重新存放。例如原来的顺序为: 要求改为: 。 初始数组

C语言模拟试卷A

安徽农业大学经济技术学院 《C语言程序设计》模拟试卷(A) 所有答案写在答题卡上,否则不得分 一、单项选择题(每题1分,共30分) 1.以下选项中叙述正确的是___C_____。 A)C语言程序总是从第一个定义的函数开执行 B)在C语言程序中,被调用的函数必须在main( )函数中声明 C)C语言程序总是从main()函数开始执行 D)C语言程序中的main()函数必须放在程序的开始部分 2.C语言程序的三种基本结构是 A 结构。 A)循环、选择、顺序 B)递归、转移、嵌套 C)for while do-while D)if break continue 3以下选项中不属于C语言的基本数据类型的是__D______。 A)int B)double C)char D)bool 4.以下选项中正确的C语言标识符是_B_______。 A)2b B)x_1 C)a@b D) h#3 5.有以下程序段:int m=0,n=0;char c=’a’; scanf(“%d%c%d”,&m,&c,&n); printf(“%d,%c,%d\n”,m,c,n); 若从键盘上输入98A56(回车)输出结果是____B____。 A)98,A,56 B)98,a,56 C)98,a,0 D)98,A,6 6.以下选项中,和语句k=n++;等价的是__A______。 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);后,输出结果是____B____。 A)8 B)10 C)12 D)14 8.已知:int a=2,b=3,c;,执行语句c=(a=2,b=2),a+b;后,c的值是____A____。 A)2 B)3 C)4 D)5 9.已知:int x,y;float z;,若要给变量x,y,z输入数据,以下正确的输入语句是__C______。 A)scanf("%d,%d,%f",x,y,z); B)scanf("%d,%d,%f\n",&x,&y,&z); C)scanf("%d,%d,%f",&x,&y,&z); D)scanf("%2d,%2d,%3.2f",&x,&y,&z); 10.设有int m=9,n; 则表达式( B )不能使n的值为1。 A.n=m%2 B.n=m/10 C.n=m-1<10?1:2 D.n= m %8 11.一个C程序中要调用sqrt()函数时,应在程序中包含的头文件是_B_______。 A)stdio.h B)math.h C)string.h D)stdlib.h 12.已知:char c='a';,则执行语句printf("%c",c-32);后输出结果是____A____。 A)A B)65 C)97 D)出错 13.能正确表示逻辑关系“a≥5或a≤-1”的C语言表达式是__D______。 A)a>=5|a<=-1 B) a≥5||a≤1

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语言程序设计模拟试题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语言模拟试题(答案)

一、选择题 1.有如下程序: main() { int a=1,b=2; a+=b;b=a-b;a-=b; printf("%d,%d\n",a,b); } 该程序的输出结果是【】。 A.1,2 B.2,1 C.2,2 D.3,2 2.有以下程序: main() { int i; for(i=0;i<3;i++) switch(i) { case 1:printf("%d",i); case 2:printf("%d",i); default:printf("%d",i); } } 执行后输出的结果是【】。 A.011122 B.012 C.012020 D.120。3.有以下程序: main() { int a=5,b=4,c=6,d; printf("%d\n",d=a>b?(a>c?a:c):(b)); } 执行后输出结果是【】。 A.5 B.4 C.6 D.不确定 4.有如下程序: f(int a) { int b=0; static int c=3; b++;c++; return(a+b+c) ;

} main() { int a=2,i; for(i=0;i<3;i++) printf("%2d",f(a)); } 该程序的输出结果是【】。 A.7 7 7 B.7 7 8 C. 7 8 9 D.7 8 8 5.有如下程序段: main() { int a,b,c=246; a=c/100%9; b=(-1) && (-1); printf("%d,%d\n",a,b); } 输出结果是【】。 A.2,1 B. 3,2 C. 4,3 D. 2,-1 6.有如下程序: main() { char str[ ][20]={"Hello","Beijing"}, *p=str; printf("%d\n",strlen(p+22)); } 该程序的输出结果是【】。 A.0 B.5 C.7 D.20 7.有如下程序: #define U 2 #define V U+2 #define X V*V/2 main() { printf("%d\n",5*X); } 该程序的输出结果是【】。 A.10 B.20 C.15 D.40 8.有以下程序: main() { int a[4][4]={{1,2,3,4},{5,6,7,8},{3,9,10,2},{4,2,9,6}}; int i,s=0; for(i=0;i<4;i++) s+=a[i][1];

C语言基础知识复习题模拟试题一

模拟试题一 一、选择题(本大题30分,每小题2分) 1.下列说法正确的是 H 。 A)main函数必须放在C程序的开头 B)main函数必须放在C程序的最后 C)main函数可以放在C程序的中间部分,但在执行C程序时是从程序开头执行的 D)main函数可以放在C程序的中间部分,但在执行C程序时是从main函数开始的 2.在下面几组数据类型中, 全为最常用的基本数据类型的是哪一组: A 。 A)整型实型字符型 B)整型数组指针 C)数组结构体共用体 D)指针逻辑型空类型 3.若有说明语句:char c= ‘\64’ ; 则变量C包含: A 。 A)1个字符 B)2个字符 C)3个字符 D)说明不合法,C值不确定 4.设有如下定义和执行语句,其输出结果为:。 int a=3,b=3; a = -- b + 1; printf(“%d %d”,a,b); A)3 2 B)4 2 C)2 2 D)2 3 语言中,运算对象必须是整型数的运算符是 A 。 A)% B)\ C)% 和 \ D)** 6.能正确表示x的取值范围在[0,100]和[-10,-5]内的表达式是 C 。 A)(x<=-10)||(x>=-5)&&(x<=0)||(x>=100) B)(x>=-10)&&(x<=-5)||(x>=0)&&(x<=100) C)(x>=-10)&&(x<=-5)&&(x>=0)&&(x<=100) D)(x<=-10)||(x>=-5)&&(x<=0)||(x>=100) 7.程序段如下 int k=0; while(k++<=2); printf("last=%d\n",k); 则执行结果是last= B 。 A)2 B)3 C)4 D)无结果 8.下面有关for循环的正确描述是 A 。 A)for循环只能用于循环次数已经确定的情况 B)for循环是先执行循环体语句,后判断表达式 C)在for循环中,不能用break语句跳出循环体 D)for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来 9.若二维数组a有m列,则a[I][j]元素前的数组元素个数为:。 A)j*m+i B)i*m+j C)i*m+j-1 D)i*m+j+1

C语言模拟试题四

模拟试题四 一、选择题(本大题30分,每小题2分) 1.在C语言中,反斜杠符是。 A)\n B)\t C)\v D)\ \ 2.表达式18/4*sqrt(4.0)/8值的数据类型为。 A)int B)float C)double D)不确定 3.设整型变量a值为9,则下列表达式中使b的值不为4的表达式。 A)b=a/2 B)b=a%2 C)b=8-(3,a-5) D)b=a>5?4:2 4.已知变量C1为字符型变量,下面不正确的赋值语句是:。 A)C1 = ...abc?B)C1= 0 C)C1 = …7?+ …9?D)C1= 7 + 9 5.以下程序的输出结果是:。(注:▂表示空格) main( ) { printf(“\n*s1=%8s*”, “china”); printf(“\n*s2=%-5s*”, “chi”) ; } A)*s1=china▂▂▂* B)*s1=china▂▂▂* *s2=chi* *s2=chi▂▂* C)*s1=▂▂▂china* D)*s1=▂▂▂china* *s2=▂▂chi * *s2=chi▂▂* 6.设a、b和c是int型变量,且a=2,b=4,c=6,则下面表达式中值为0的是:。A)‘a’+ …b?B)a<=b C)a||b+c&&b-c D)!( (ay||xz) { 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 8.下列字符串赋值语句中,不能正确把字符串C program赋给数组的语句是:。A)char a1[]={…C?, …?, …p?, …r?, …o?, …g?, …r?, …a?, …m?} B)char a2[10]; strcpy(a2, “C program”); C)char a3[10]; a3= “C program”; D)char a4[10]={ “C program”} 9.用scanf函数输入一个字符串到数组str中,下面正确的语句是:。 A)scanf(“%s”,&str); B)scanf(“%c”,&str[10]); C)scanf(“%s”, str) ; D)scanf(“%s”,str[10]); 10.C语言规定,C程序的各函数之间。 A)允许嵌套调用,但不允许嵌套定义; B)不允许嵌套调用,但允许嵌套定义; C)不允许嵌套调用,也不允许嵌套定义; D)允许嵌套调用,也允许嵌套定义;。

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语言模拟试题

(1)一:选择题(本题共15 小题,满分30 分) (1).以下叙述正确的是B A)C语言程序是由过程和函数组成的 B)C语言函数可以嵌套调用,例如:fun(fun(x)) C)C语言函数不可以单独编译 D)C语言中除了main函数,其他函数不可作为单独文件形式存在 (2)以下C语言用户标识符中,不合法的是D A)_1 B)AaBc C)a_b D)a—b (3)若有定义:double a=22;int i=0,k=18;,则不符合C语言规定的赋值语句是C A)a=a++,i++; B)i=(a+k)<=(i+k); C)i=a%11; D)i=!a; (4)以下程序的输出结果是(B)。 main() { int x=2, y=-1, z=2; if (x0;j--) {if((i*j)>3)break; m*=i*j; } } printf("m=%d\n",m); } 程序运行后的输出结果是A A)m=6 B)m=2 C)m=4

(7)有以下程序D #include "stdio.h" main() {int a=1;int b=2; for(;a<8;a++) {b+=a;a+=2;} printf("%d,%d\n",a,b); } 程序运行后的输出结果是 A)9,18 B)8,11 C)7,11 D)10,14 (8)以下关于return语句的叙述中正确的是b A)一个自定义函数中必须有一条return语句 B)一个自定义函数中可以根据不同情况设置多条return语句 C)定义成void类型的函数中可以有带返回值的return语句 D)没有return语句的自定义函数在执行结束时不能返回到调用处 (9)下列选项中,能正确定义数组的语句是D A)int num[0..2008]; B)int num[]; C)int N=2008; int num[N]; D)#define N 2008 int num[N]; (10).有以下程序段 int a[10]={1,2,3,4,5,6,7,8,9,10},*p,b; p=&a[3]; b=p[5]; b中的值是(D) A. 5 B. 6 C. 8 D. 9 (11)有以下程序 #include"stdio.h" main() {int a[5]={1,2,3,4,5},b[5]={0,2,1,3,0},i,s=0; for(i=0;i<5;i++) s=s+a[b[i]]; printf("%d\n", s); } 程序运行后的输出结果是c A)6 B)10 C)11 D)15 (12)有以下程序 #include "stdio.h" #define SUB(a) (a)-(a)

C语言程序设计模拟试题

C语言程序设计模拟试题2 一、单选题(每题3分,共计30分) 1、C语言中基本数据类型包括(B)。 A、整型、实型、逻辑型 B、整型、实型、字符型 C、整型、字符型、逻辑型 D、整型、实型、逻辑型、实型 2、下列选项中不属于C语言的优点的选项是()。 A、C语言语句简洁、紧凑,使用方便灵活 B、C语言程序易于移植 C、生成的目标代码质量高,运行效率高 D、数据类型检查严格 3、若a、b均为int型变量,且a=100,则关于循环语句for(b=100; a!=b; ++a,++b) printf ( “ ------------”) ;的正确说法是()。 A、循环体只执行一次 B、死循环 C、循环体一次也不执行 D、输出----------- 4、对C语言来说,下列标识符中不合法的选项是()。 A、AB2C B、ab2c C、ab.2c D、a_b2c 5、执行下列程序段后,i的值是()。 s = 0; for( i = 1; i <= 4; i=i+3 ){ s += i; } A、1 B、4 C、5 D、7 6、下列各语句中,能够输出整型变量a、b中最大值的是( )。 A、printf("%d\n",(a>b)?a,b); B、(a>b)? printf("%d",b): printf("%d",a); C、printf("%d",if(a>b)a else b); D、printf("%d\n",(a>b)?a:b); 7、设int a = 9,b = 8,c = 7, x = 1; 则执行语句if (a>7) if (b>8) if (c>9) x=2 ;else x = 3; 后,x 的值是( )。 A、0 B、2 C、1 D、3 8、下列语句中定义x为指向int类型变量a的指针,正确的是()。 A、int a, *x=a; B、int a, *x=&a; C、int *x=&a, a; D、int a, x=a; 9、以下正确的函数定义形式是()。 A、double fun(int x, int y) B、double fun(int x; int y) C、double fun(int x, int y); D、double fun(int x y) 10、假定int类型变量占用两个字节,有定义:int x[10]={0,2,4};,则数组x 在内存中所占字节数是( ) 编辑版word

C语言模拟试题

《C语言程序设计教程实验与练习》(第二版)模拟试题II及答案 一、单项选择题(每题2分,30道题,共60分) 1.下面的程序将输出: main() { float f; int x=1,y=; f=x/y; printf("f=%,y=%#X", f, y ); } = , y=2 = , y=0X2 = , y=0X2 = , y=2 2.下面的程序将输出: #include "" main() { int len; char str[]="a\b\04235\0"; len=strlen(str); printf("%d",len); } A. 10 B. 5 C. 6 D. 7 3.下面的程序将输出: main() { int a=0x31; char *str[]={"this is one. ","this is two. "}; char ch; ch=++a-’0’; switch(ch) { case 1: printf ("%s", str[0]); case 2: printf ("%s", str[1]); default: printf ("no way! "); } } is one. is two. way! is way! 4.下面的程序将输出: main() { int a[5]={1,2,3};

int k,j; for(k=1;k<4;k++) a[k]++; for(j=0;j<5;j++) printf("%d ",a[j]); } 3 4 1 0 3 4 1 0 3 4 0 0 3 4 0 0 5.已知有下面两个变量,将数组a的第2个单元赋值为1的C语句是: int a[10]; int *p; p=a; [2]=1; [1]=1; C.*(p++)=1; D.*(++a)=1; 6.下面程序将输出: void add(int a) { a++; return; } main() { int k; k=; add(k); printf("%d",k); } A. B. C. 3 D. 4 7.下列循环结构中,不是 ..无限循环的是: A. for(i=1, s=0; ; i++) B. i=10; s=s+i ; while(1) {i=i%10+1; if(i>10) break; } C. int i=0; D. i =100; do{ ++i ; }while(i>=0); while(++i%2) i++; 8.若已知int a[3][4],*p;p=(int *)a;那么对数组a的第2行第2列的正确引用是: [2][2] [5] [5] [1][1] 9.已知:int (*p)[20]; 且p的值是0X5000,请问表达式p+2的值是多少? A. 0X5050 B. 0X5002 C. 0X5004 D. 0X5040

C语言模拟试题

二级C 语言笔试试卷(A) 注意事项:1.一题答案填涂在答题卡上 2.二、三、四、五题答案做在答题纸上 一.单项选择题。(每小题1分,共20分) 1. C 程序的源程序由预处理命令和( )组成。 (A)函数 (B )语句 (C )保留字 (D )标始符 2. 下面程序段中,与if (x%2)中的x%2所表示条件等价的是( )。 scanf(〞%d 〞,&x); (A )x%2==0 (B )x%2!=1 (C) x%2!=0 (D) x%2==1 3. 执行下面C 语言序列后,变量b 的值是( )。 Int a,b,c ; a=b=c=1; ++a||++b&&++c ; (A )错误 (B )0 (C) 2 (D) 1 4. 设有C 语句int a[3][4];, 则每次移动过a 数组一行元素的指针变量定义形式是( )。 (A )int *p ; (B )int **p ; (C) int(*p)[4]; (D) int *p[4]; 5. 设有整型变量a, 实型变量f,双精度型变量x ,则表达式10+′b ′+x*f 值的类型为( )。 (A )int (B )float (C)double (D)不能确定 6. C 语言中规定,函数调用中用简单变量做实参时,它和对应形参之间的数据传递方式是( )。 (A )地址传递 (B )单向值传递 (C) 由实参传给形参,再由形参传回给实参 (D) 由用户指定传递方式 7. 下面程序的输出是( )。 #include void main() { int x=10,y=3; printf(〞%d\n 〞,y=x/y); } (A )0 (B )1 (C) 3 (D) 不确定的值 8. 执行下面的程序段后,B 的值为( )。 int x=35; char z=′A ′; int B; B=((X&5)&&(z<′a ′)); (A )0 (B )1 (C)2 (D) 3 9. 以下程序的输出结果为( )。 #include void main() { int i=0; for(;;) if(i++==5) break; printf(〞%d\n 〞,i); } (A )0 (B )5 (C) 6 (D) 前3个选项都错 10. 已知:char s[4]=〞cba 〞;char *p; 执行语句列p=s;printf(〞%c\n 〞,*p+1);后,其输出为( )。 (A )c (B )b (C) a (D) d 11. 运行完下列程序后,在屏幕上的内容是( )。 #include void main() { int a=0; a+=a=12; printf(〞%d\n 〞,a); } (A )0 (B )6 (C) 12 (D) 24 12. 已知:int x= 1 , y = 2, z =0, 则执行z=x>y?(10+x,10-x):(20+y,20-y)后,z 的值为( )。 (A )11 (B )9 (C) 18 (D) 22 13. 若已定义x 和y 为double 类型,则表达式x=2,y=x+10/4的值是( ) (A )2 (B )4 (C)4.0 (D) 4.5 14. 以下程序的输出结果是( )。 #include int x=3,y=4; void main() { int x=0; x+=y++; printf(〞%d 〞,x);

相关主题
相关文档
最新文档