搜档网
当前位置:搜档网 › C语言程序设计模拟试卷及答案

C语言程序设计模拟试卷及答案

C语言程序设计模拟试卷及答案(1)

一、填空题

1、C语言中基本的数据类型有:______、______ 、______ .

2、C语言中普通整型变量的类型说明符为______,在内存中占______字节,有符号普通整型的数据范围是______ .

3、整数-35在机内的补码表示为______.

4、执行下列语句int a=8;a+=a-=a*a;后,a的值是______.

5、有如下语句:char A[ ]={“I am a student”};该字符串的长度是______,A[3]=______.

6、符号“a”和‘a’的区别是______.

7、所谓“指针”就是______.“&”运算符的作用是______.“*”运算符的作用是______.

8、有如下输入语句:scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);为使变量a的值为1,b的值为3,c的值为2,从键盘输入数据的正确形式应是_a=1,b=3,c=2__.

一、填空题

(1)整型、实型、字符型。

(2)int,2,-32768~ +32767

(3)1111111111011101

(4)- 112

(5)14,‘m’

(6)“a”是字符串常量,而‘a’是字符常量。

(7)存放地址值的变量或常量,或者答地址。

(8)取运算对象的地址。取指针变量所指的内容。a=1,b=3,c=2

C、C

D、B、D

、A C、C、D A

C、C、

D、C、B

C、D D C、B

二、选择题

1、设整型变量a为5,使b不为2的表达式是(C)。

A. b=a/2

B. b=6-(——a)

C. b=a%2

D. b=a>3?2:1

2、为了避免嵌套的条件分支语句if-else的二义性,C语言规定:C程序中的else总是与(C)组成配对关系。

A. 缩排位置相同的if

B. 在其之前未配对的if

C. 在其之前未配对的最近的if

D.同一行上的if

3、以下程序的输出结果是(D)。

int x=10,y=10;

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

A. 1010

B. 99

C. 910

D. 109

4、设A为存放(短)整型的一维数组,如果A的首地址为P,那么A中第i 个元素的地址为(B)。

A.P+i*2

B.P+(i-1)*2

C.P+(i-1)

D.P+i

5、选出下列标识符中不是合法的标识符的是(D)。

A. hot_do

B. cat1

C. _pri

D. 2ab

6、以下程序的输出结果是(B)。

int a=5;

float x=3.14;

a*=x*(‘E’-‘A’);

printf(“%f\n”,(float)a);

A. 62.000000

B. 62.800000

C. 63.000000

D. 62

7、设有说明double(*p1)[N];其中标识符p1是(C)。

A. N个指向double型变量的指针。

B. 指向N个double型变量的函数指针。

C. 一个指向由N个double型元素组成的一维数组的指针。

D.具有N个指针元素的一维指针数组,每个元素都只能指向double型量。

8、在C程序中有如下语句:char *func(int x,int y);它是(C)。

A. 对函数func的定义。

B. 对函数func的调用。

C.对函数func的原型说明。

D. 不合法的。

9、以下程序的输出结果是(D)。

char str[15]=“hello!”;

printf(“%d\n”,strlen(str));

A. 15

B. 14

C. 7

D. 6

10、分析以下程序的输出结果是(A)。

main()

{int a=5,b=-1,c;

c=adds(a,b);

printf(“%d”,c);

c=adds(a,b);

printf(“%d\n”,c);}

int adds(int x,int y)

{static int m=0,n=3;

n*=++m;

m=n%x+y++;

return(m);}

A. 2,3

B. 2,2

C. 3,2

D. 2,4

11、下列描述中不正确的是(C)。

A. 字符型数组中可能存放字符串。

B. 可以对字符型数组进行整体输入、输出。

C. 可以对整型数组进行整体输入、输出。

D. 不能在赋值语句中通过赋值运算符“=”对字符型数组进行整体赋值。

12、以下程序的输出结果是(A)。

#define f(x)x*x

main()

{int a=6,b=2,c;

c=f(a)/f(b);

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

}

A.9

B.6

C.36

D.18

13、设有如下定义:int x=10,y=3,z;

则语句printf(“%d\n”,z=(x%y,x/y));的输出结果是(D )。

A. 1

B. 0

C. 4

D. 3

14、定义如下变量和数组:int i;int x[3][3]={1,2,3,4,5,6,7,8,9};

则语句for(i=0;i<3;i++)printf(“%d”,x[i][2-i]);的输出结果是(C)。

A. 159

B. 147

C. 357

D. 369

15、以下对二维数组a进行正确初始化的是(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}};

16、两次运行下面的程序,如果从键盘上分别输入6和3,则输出结果是(C)。

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

17、设有如下定义:char *aa[2]={“abcd”,“ABCD”};则以下说法中正确的是(D)。

A)aa数组成元素的值分别是“abcd”和ABCD“

B)aa是指针变量,它指向含有两个数组元素的字符型一维数组

C)aa数组的两个元素分别存放的是含有4个字符的一维字符数组的首地址

D)aa数组的两个元素中各自存放了字符‘a’和‘A’的地址

?18、下列程序的输出结果是(D)。

char *p1=“abcd”,*p2=“ABCD”,str[50]=“xyz”;

strcpy(str+2,strcat(p1+2,p2+1));

printf(“%s”,str);

A. xyabcAB

B. abcABz

C. ABabcz

D. xycdBCD

19、下列程序的输出结果是(C )。

int a[5]={2,4,6,8,10},*P,* *k;

p=a;k=&p;

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

printf(“%d\n”,* *k);

A. 4 4

B. 2 2

C. 2 4

D. 4 6

20、不能把字符串:Hello!赋给数组b的语句是(B)。

A. char b[10]={‘H’,‘e’,‘l’,‘l’,‘o’,‘!’};

B. char b[10];b=“Hello!”;

C. char b[10];strcpy(b,“Hello!”);

D. char b[10]=“Hello!”;

三、读程序题

1、float f=3.1415927;

printf(“%f,%5.4f,%3.3f”,f,f,f);

则程序的输出结果是.

2、int x=6,y=7;

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

printf(“%d\n”,++y);

程序的输出结果是

3、a=3;

a+=(a<1)?a:1;

printf(“%d”,a);

结果是.

4、for (a=1,b=1;a<=100;a++)

{ if(b>=20)break;

if(b%3==1)

{b+=3;continue;}

b-=5;}

程序的输出结果a的值为.

5、int y=1,x,*p,a[ ]={2,4,6,8,10};

p=&a[1];

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

y + = * (p + x);

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

程序的输出结果y的值是.

四、程序填空题

1、从键盘上输入10个数,求其平均值。

main()

{int i;

float f,sum;

for(i=1,sum=0.0;i<11;i++)

{;

;}

printf(“average=%f\n”,sum/10);}

2、以下程序是建立一个名为myfile的文件,并把从键盘输入的字符存入该文件,当键盘上输入结束时关闭该文件。

#include

main()

{ FILE *fp;

char c;

fp=;

do{

c=getchar();

fputs(c,fp);

}while(c!=EOF);

}

3、以下程序的功能是:从键盘上输入若干个学生的成绩,统计并输出最高成绩和最低成绩,当输入负数时结束输入。请填空。

main()

{ float x,amax,amin;

scanf(“%f”,&x);

amax=x;amin=x;

while()

{ if(x>amax)amax=x;

if()amin=x;

scanf(“%f”,&x);}

printf(“\namax=%f\namin=%f\n”,amax,amin);}

五、编程题

1. 三个整数a、b、c,由键盘输入,输出其中最大的一个数。

2.输出1900~2000年中所有的闰年。每输出3个年号换一行。(判断闰年的条件为下面二者之一:能被4整除,但不能被100整除。或者能被400整除。)

3.请编一个函数int fun(int a),它的功能是:判断a是否是素数,若a是素数,返回1;若不是素数,返回0.A的值由主函数从键盘读入。

4.有N个学生,每个学生的信息包括学号、性别、姓名、四门课的成绩,从键盘上输入N个学生的信息,要求输出总平均成绩最高的学生信息,包括学号、性别、姓名和平均成绩。

参考答案:

一、填空题

(1)整型、实型、字符型。

(2)int,2,-32768~ +32767

(3)1111111111011101

(4)- 112

(5)14,‘m’

(6)“a”是字符串常量,而‘a’是字符常量。

(7)存放地址值的变量或常量,或者答地址。

(8)取运算对象的地址。取指针变量所指的内容。a=1,b=3,c=2

二、选择题

1、C

2、C

3、D

4、B

5、D

6、A

7、C

8、C

9、D10、A

11、C12、C13、D14、C15、B

16、C17、D18、D19、C20、B

三、阅读程序题

(1)3.141593,3.1416,3.142

(2)6,8

(3)4

(4)22

(5)19

四、程序填空题

1、scanf(“%f”,&f);sum+=f;

2、fopen(“myfile”,w)fclose(fp);

3、x>=0.0x<=amin

五、编程题

1、main()

{int a,b,c;

printf(“请输入三个整数:”);

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

if(a

if(b

else printf(“max=%d\n”,b);

else if(a

else printf(“max=%d\n”,a);}

2、#include“stdio.h”

main()

{int I,n;

for(n=0,I=1900;I<=2000;I++)

{if(I%4==0&&I%100!=0||I%400==0)

{printf(“%d”,I);n++;}

if(n%3==0)

printf(“\n”);}}}

3、#include“stdio.h”

int fun(int a)

{int I;

if(a==2)return 1;I=2;

while((a%I)!=0&&I<=sqrt((float)a))

I++;

if(a%I==0)

{printf(“%d is not a prime!”,a);

return 0;}

printf(“%d is a prime!”,a);

return 1;}

main()

{int x;

printf(“\n please enter a number:”);

scanf(“%d”,&x);

printf(“%d\n”,fun(x));}

4、#include“stdio.h”

#define N 3

struct student

{long stu_num;char sex;

char name[15];int score[4];

float average;};

main()

{int I,j,index;float sum,max;

struct student stuarr[N];

for(I=0;I

{printf(“please input %d student information:\n”,I+1);

scanf(“%ld,%c,%s”,&stuarr[I].stu_num,&stuarr[I].sex,stuarr[I].name);

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

scanf(“%d”,&stuarr[I].score[j]);}

for(I=0;I

{sum=0.0;

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

sum+=stuarr[I].score[j];

stuarr[I].average=sum/4.0;}

max=stuarr[0].average;

index=0;

for(I=1;I

if(stuarr[I].average>max)

{max=stuarr[I].average;

index=I;}

printf(“总平均成绩最高的学生信息是学号=%ld,性别=%c,姓名=%s,平均成绩=%4.1f\n”,stuarr[index].stu_num,stuarr[index].sex,stuarr[index].name,stuarr[index].average);

}

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]。通过指针p,给s赋值,使s指向最后一个存储单元a[4]的语句是。(2)若指针s指向存储单元a[2],p指向存储单元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 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); } 3.下列程序执行后的输出结果是(小数点后只写一位)()。 A) 6 6 6.0 6.0 B) 6 6 6.7 6.7 C) 6 6 6.0 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.下列变量定义中合法的是()。 A) short _a=1-.le-1; B) double b=1+5e2.5; C) long do=0xfdaL; D) float 2_and=1-e-3; 5.设int x=1, y=1; 表达式(!x||y--)的值是()。 A) 0 B) 1 C) 2 D) -1 6.与y=(x>0?1:x<0?-1:0);的功能相同的if语句是()。A) if (x>0) y=1; B) if(x) else if(x<0)y=-1; if(x>0)y=1; else y=0; else if(x<0)y=-1; else y=0; C) y=-1 D) y=0; if(x) if(x>=0) if(x>0)y=1; if(x>0)y=1; else if(x==0)y=0; else y=-1; else y=-1; 7.以下循环体的执行次数是()。 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); } 8.以下叙述正确的是()。 A) do-while语句构成的循环不能用其它语句构成的循环来代替。 B) do-while语句构成的循环只能用break语句退出。

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

《C语言程序设计》模拟试卷一 一、单项选择题(每题2分,共30分) 1、下列有关C语言的叙述中错误的是(D)。 A) C语句必须以分号结束 B) 任何一个C程序中有且只有一个主函数 C) 复合语句在语法上可被看作一条语句 D) C程序中对数据的任何操作都可由运算符实现 2、以下不能定义为用户标识符的是(C)。 A) MAIN B) _HJ C) 2ong D) LINE1 3、下列符号中用来表示C语言中的回车换行的是(B)。 A) \r B) \n C) \b D) \t 4、如有如下定义:int a=1,则语句printf(“%d,%d”, a, ++a);的运行结果为(B)。 A) 1, 1 B) 1, 2 C) 2, 2 D) 2, 1 5、已知ch为字符型变量,下面表达式中正确的是(A)。 A) ch=’\xff ’B) ch=’\ff ’C) ch=’ ff ’D) ch=” ff ” 6、以下能正确定义一维数组的是(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}; 7、以下语句中能正确定义变量并赋初值的是(A)。 A) char c=65; B) float f=f+1.1; C) double x=12.3e3.6; D) int m=n=2.0; 8、在执行下列程序时输入:1357924,则程序的运行结果为(D)。 main( ) { int x, y; scanf(“%2d%2d”,&x,&y); printf(“%2d”,x*y); } A) 13 B) 1357 C) 74 D) 741 9、执行下列程序段后输出的结果是(C)。

C模拟题及答案

1、设有数组的初始化定义如下:int a[5]={1,2,3};对该定义的正确理解是( B )。 A.将3个数依次赋给a[1 ]至a[3 ] B.将3个数依次赋给a[0 ]至a[2 ] C.将3个数依次赋给a[0 ]至a[3 ] D.因初值的个数小于数组长度,所以定义是错的 2、下列选项中,值不等于0.5的表达式是( A)。 A.1/2 B.1/2.0 C.(float)1/2 D.1.0/2 3、若有“float x=123.456; printf("%2.1f",x);”,则执行后的输出结果为( D )。 A.3.4 B.3.5 C.123.4 D.123.5 4、能把ch中的大写字母转换为对应小写字母的表达式是( B )。 A.ch=ch-32 B.ch-='A'-'a' C.ch+=-32 D.ch-='a'-'A' 5、以下对结构体变量成员num的非法引用是( B)。 struct person { int age; intnum; }x,*p=&x; A.x.num B.person.num C.p->num D.(*p).num 6、设有以下程序,则对循环次数描述正确的是( B )。 int k=10; while (k= =0) k=k-1; A. 执行10次循环 B.不执行循环 C.执行一次循环 D.执行无限次循环 7、设有如下程序,则输出结果是()。 int a=2,b=3,c=1; if (a>b) if (a>c) printf(“%d\n ”,a); else printf(“%d\n ”,b );

printf(“Over!\n ”); A.2 B.3 C.Over! D.1 8、对二维数组a初始化为:int a[ ][2]={1,2,3,4,5,6};则a第一维的大小是()。 A.2 B.3 C.4 D.不能确定 9、若x、i、j、k都是int型变量,则计算表达式x=(i=4,j=16,k=32)后,x的值为()。 A.4 B.16 C.32 D.52 10、执行函数调用“fun('A')”得到的返回值为()。 int fun(char ch) { return(ch>='0'&&ch<='9'); } A.-1 B.0 C.1 D.2 11、以下数组的定义形式正确的是()。 A.int k=5,a[k]; B.int a[ ]; C.char c[]={'a'}; D.char a(10); 12、若有语句“int a[10],*p=&a[2];”,则执行语句“p=p+4;”后,p指向的数组元素是()。 A.a[4] B.a[5] C.a[6] D.a[7] 13、表示关系x<=y<=z的C语言表达式为()。 A.(x<=y)&&(y<=z) B.(x<=y)AND(y<=z) C.(x<=y<=z) D.(x<=y)&(y<=z) 14、下面不正确的字符常量是()。 A.“c” B.‘\\’’ C.‘’ D.‘K’ 15、若有定义:char a; int b; float c; double d;,则表达式a*b+d-c值的类型为()。 A.float B.double C.char D.int 16、定义int a[9],*p=a;不能表示a[1] 地址的是()。 A.p+1 B.a+1 C.a-1 D.&a[1] 17、下列关于C程序的说法错误的是()。

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

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

程序设计试卷及答案

程序设计试卷及答案 一、选择题(每题2分,共20分) 1. 下列哪个选项是正确的? A. 程序设计是一种艺术形式 B. 程序设计是一种科学 C. 程序设计只涉及硬件的操作 D. 程序设计只需要机器语言的理解和应用 2. C语言中的函数可以返回多个值吗? A. 可以 B. 不可以 3. 以下哪个关键字用于定义常量? A. const B. static C. volatile D. extern 4. 以下哪个选项是正确的? A. 集成开发环境(IDE)只用于调试程序代码 B. 集成开发环境(IDE)只用于编译程序代码

C. 集成开发环境(IDE)用于编写、调试和编译程序代码 D. 集成开发环境(IDE)只用于编写程序代码 5. 在C语言中,以下哪个运算符用于获取变量的地址? A. & B. * C. -> D. sizeof 6. 下列哪个选项是正确的? A. 结构体是由相同类型的数据组成 B. 结构体是 C 语言中的一种数据类型 C. 结构体可以包含函数 D. 结构体只能包含基本数据类型的成员 7. 以下哪个关键字用于定义函数的形参类型? A. void B. int C. extern D. typedef 8. 哪个是指针的正确声明方式?

A. int *p; B. pointer p; C. p int; D. ptr int; 9. 标识符的命名规则中,以下哪个选项是错误的? A. 可以使用数字作为标识符的开头 B. 可以使用下划线作为标识符的开头 C. 标识符可以由字母、数字和下划线组成 D. 标识符长度可以任意长短 10. 哪个是正确的if语句的用法? A. if (条件) 语句; B. if 条件语句; C. if 条件 then 语句; D. if (条件) then 语句; 二、填空题(每空2分,共20分) 1. C语言中,定义带有两个整型参数和整型返回值的函数的声明应该是:`int add(int a, int b);`

C语言模拟试卷及答案

C语言模拟试卷及答案 ____―____学年第一学期《C语言程序设计》模拟试卷(B)一、单项选择题(每题1分,共30分) 1.C语言程序总是从______开始执行。A)第一条语句B)第一个函数C)主函数D)子程序2.以下选项中正确的C语言标识符是______。A)a+bB)3Dma_C)_25D)ó.以下选项中正确表示字符型常量的是______。 A)’\\t’B)\C)’abc’D)’279’4.以下选项中属于C语言基本数据类型的是 ______。A)逻辑型B)双精度型C)复数型D)集合型5.已知:inta=8,b=5,c;,则执行语句c=a%b+0.3;后,c的值是______。A)1B)1.3C)3D)3.36.设在程序中的a,b,c均被定义为整型并且已赋予大于1的值,能正确表示代数式1 的表达式abc是______。 A)1/a_b_cB)1/(a_b_c)C)1/a/b/(float)cD)1.0/a/b/c7.已知字符’A’的ASCII 码值为十进制数65,则执行语句printf(\______。A)AB)CC)65D)678.已知: inti=1;,则执行语句printf(\A)1B)2C)-1D)-29.以下选项中,和语句__=y+2; 等价的是______。A)_=__y+2;B)y=__(y+2);C)_=y+2__;D)_=__(y+2);10.以下选项中能正确判断字符变量c不是大写字母的表达式是______。 A)c’Z’B)!(c’Z’)C)c>=‘A’||c=‘A’__cvoidmain()—1—{inta=3,b=-1,c =1;if(a=y)__(y>=z)B)(_>=y)AND(y>=z)C)_>=y>=zD)(_>=y)||(y>=z)17.已知:inti=5;,则执行语句 while(ivoidmain(){intn=9;while(n>6){n--;printf(\}A)987B)9876C)8765D)87 619.执行以下程序后,输出结果是______。 _includevoidmain(){inti,s=0;for(i=1;ivoidsub(int_,inty,int_z){_z=y-_;} voidmain(){inta;sub(10,5,_a);printf(\}A)5B)-5C)0D)不确定25.已知: int_,_p;,则以下赋值语句中正确的是______。 A)p=__;B)p=__;C)__=_p;D)_p=__;26.已知:charstr[]=\=str;,则表达式_(ptr+5)的值为______。A)’o’B)’\\0’C)’o’的地址D)不确定27.执行以下程序后,输出结果是______。 _include_defineF(_)_+_voidmain(){inta=5;printf(\}A)5B)10C)15D)____.有

C语言程序设计考试试题(附答案)

C语言程序设计考试试题(附答案) C语言程序设计考试试题(附答案) 一、选择题(共30题,每题2分,共60分) 1. 下列哪个是C语言关键字? A. print B. variable C. while D. calculate 答案:C 2. 在C语言中,下列哪个是合法的变量名? A. 1_hello B. _world C. v-ariable D. continue 答案:B 3. 下列哪个是正确的C语言注释方式? A. // This is a comment B. # This is a comment

C. /* This is a comment */ D. 答案:C 4. 下列哪个是正确的C语言函数定义格式? A. void addNumbers() B. addNumbers() C. function addNumbers() D. int addNumbers() 答案:D 5. 执行下面的C语言代码,输出的结果是什么?```c #include int main() { int x = 5; int y = 2; float result = x / y; printf("%f", result); return 0;

} ``` A. 2.5 B. 2 C. 2.000000 D. 5 答案:B 6. 在C语言中,下列哪个是正确的if语句格式? A. if (x > 4) then B. if (x > 4) { } C. if x > 4 D. if (x > 4) 答案:D 7. 下列哪个是C语言中的逻辑运算符? A. ++ B. && C. % D. = 答案:B

C语言程序设计试题附答案3篇

C语言程序设计试题附答案3篇 C语言程序设计试题附答案1 1. 用C语言编写的代码程序( B ) A)可立即执行 B)是一个源程序 C)经过编译即可执行 D)经过编译解释才能执行 2. C语言中用于结构化程序设计的三种基本结构是( A ) A)顺序结构、选择结构、循环结构 B)if、switch、break C)for、while、do-while D)if、for、continue 3. 以下定义语句中正确的是( C ) A)char a='A'b='B'; B float a=b=10.0;C)int a=10,b= D)float a,b= 4.下列选项中,不能用作标识符的是( D ) A)_1234_ B)_1_2 C) int_2_ D)2_int_ 5.在函数调用过程中,如果函数funA调用了函数 funB,函数funB又调用了函数funA,则 ( B ) A)称为函数的直接递归调用 B)称为函数的间接递归调用 C)称为函数的循环调用 D)C语言中不允许这样的递归调用 6.以下叙述中正确的是 ( A ) A)局部变量说明为static存储类,其生存期将得到延长 B)全局变量说明为static存储类,其作用域将被扩大 C)任何存储类的变量在未赋初值时,其值都是不确定的

D)形参可以使用的存储类说明符与局部变量完全相同 7.若变量已正确定义,要求程序段完成求5!的计算,不能完成此操作的程序段是( B) A)for(i=1,p=1;i=0_______;i--) {if(____i%17==0____④________) break;} printf("%d\n",__⑤_i____); } 3.以下程序从终端读入数据到数组中,统计其中正数的个数,并计算它们之和。 main() { int i,a[20],sum,count; sum=count=0; for(i=0;i0) ?? { count++; ?? sum+= _a[i]__③___ ; ?? } ? } printf("sum=%d,count=%d\n",__sum④___,__⑤__count___); } 4.以下程序的功能是调用函数fun计算:m=1+2+3+4+…+9+10,并输出结果。请填空。 int fun( int n)

C语言模拟题十套附答案

第一部分:选择题(40分,20小题/套) 概述 1、下面关于C语言的叙述中,正确的是(D) A. 每行只能写一条语句 B. 程序中必须包含有输入语句 C. main函数必须位于文件的开头 D. 每条语句最后必须有一个分号 2、下面关于C语言的叙述中,错误的是(B) A. 若一条语句较长,也可分写在下一行上 B. 构成C语言源程序的基本单位是表达式 C. C语言源程序中大、小写字母是有区别的 D. 一个C语言源程序可由一个或多个函数组成 3、关于C语言数据类型的叙述,正确的是() A. 枚举类型不是基本类型 B. 数组不是构造类型 C. 变量必须先定义后使用 D. 不允许使用空类型 4、C程序中main函数的位置(C) A. 必须在最开始 B. 必须在系统库函数后面 C. 可以在自定义函数后面 D. 必须在最后 5、C语言的函数体由(B)括起来 A. ( ) B. { } C. [ ] D. /* */ 6、关于C语言的叙述中,不正确的是(C) A. C程序可由一个或多个函数组成 B. C程序必须包含一个main()函数 C. C程序的基本组成单位是函数 D. 注释说明只能位于一条语句的后面 7、一个程序的执行是从(C) A. 本程序的第一个函数开始,到最后一个函数结束 B. 本程序的main函数开始,到main函数结束 C. 本程序的main函数开始,到最后一个函数结束 D. 本程序的第一个函数开始,到main函数结束 8、结构化程序设计的三种基本结构是(C) A. 函数结构、分支结构、判断结构 B. 函数结构、嵌套结构、平行结构 C. 顺序结构、分支结构、循环结构 D. 分支结构、循环结构、嵌套结构 9、调试程序是指对程序进行(C) A. 编辑 B. 编译 C. 查错和排错 D. 连接 10、C语言中,复合语句的构成是将一系列语句置于(C) A. begin与end之间 B. 一对圆括号“()”之间 C. 一对花括号“{ }”之间 D. 一对方括号“[ ]”之间 11、构成C语言源程序的基本单位是(D) A. 语句 B. 过程 C. 表达式 D. 函数 语法基础 12、在C语言中,正确的用户标识符是(B) A. 3f B. _for C. struct D. _f.5

C语言程序设计试卷含答案

C语言程序设计试卷含答案 一、选择题(共20题,每题2分,共40分。下面每题后面用小括号内标注了正确答案) 1. 下列关键字中,用于定义变量的是(A) A. int B. if C. while D. for 2. 变量的作用域是指变量的(C) A. 大小 B. 类型 C. 可访问范围 D. 值 3. 下列语句中,用于输出字符的是(B) A. scanf B. printf C. input D. output 4. 已知整型变量a和b,那么a += b; 等价于(D) A. a = a + b; B. a -= b; C. a = a - b; D. a = a + b; 5. 在C语言中,用于表示“不等于”的运算符是(C) A. = B. == C. != D. >= 6. 下面哪个for循环语句是正确的(A) A. for(int i=0; i<10; i++) B. for(int i<10; i++) C. for(int i=0; i<10) D. for(i=0; i<10; i++) 7. 下列选项中,表示“或”运算符的是(D) A. & B. && C. | D. ||

8. 在C语言中,用于声明宏定义的关键字是(B) A. define B. #define C. const D. int 9. 如果要判断一个整数是否为负数,正确的if条件语句是(C) A. if(n > 0) B. if(n => 0) C. if(n < 0) D. if(n <= 0) 10. 下列哪个不是C语言的基本数据类型(D) A. int B. float C. char D. string 11. 下列关键字中,用于定义函数的是(C) A. main B. include C. void D. for 12. 在C语言中,表示“或者”的条件语句是(B) A. if B. else if C. switch D. while 13. C语言中的“++”运算符表示(A) A. 自增 B. 自减 C. 相加 D. 相减 14. 下列哪个语句用于在C语言中声明字符类型的变量(C) A. String name; B. var name; C. char name; D. character name; 15. 下列哪个不是C语言的关键字(D) A. enum B. long C. double D. true 16. 在C语言中,用于跳出当前循环并继续执行下一次循环的关键字是(D)

C语言程序设计模拟试卷及答案

自考C语言程序设计模拟试卷及答案(3) 一、单项选择题 1B 2B 3D 4C 5D 6C7A8C 9D 10A11C 12D 13B 14D 15A 16 B 17D 18B 19A20C21C B 1. 设int *=1,y=1;表达式(!*++ || y——)的值是____B_____ A.0 B. 1 C. 2 D.-1 C 2.main(B) { int n; ( n=6*4,n+6),n*2; printf("n=%d\n”,n); } 此程序的输出结果是______C________. A.30 B. 24 C. 60 D. 48 D 3.若有如下定义,则_____D_____是对数组元素的正确的引用。 int a[10] , *p ; p=a ; p=a ; p=a ; p=a ; A. *&a[10] B. a[11] C. *(p+10) D. *p C 4.设整型变量n的值为2,执行语句"n+=n-=n*n;”后,n的值是__________ A. 0 B. 4 C. - 4 D. 2 D 5.以下不能正确定义二维数组的语句是___________ A . int a[2][2]={{1},{2}}; B. int a[][2]={1,2,3,4}; C. int a[2][2]={{1},2,3}; D. int a[2][]={{1,2},{3,4}}; C D 6. 程序段的功能是将变量 u 、s中的最大值赋给变量t . A. if(u>s) t=u;t=s; B. t=u; if(t ) t=s; C. if(u>s) t=s;else t=u; D . t=s; if(u ) t=u; A 7.下列程序段的输出结果是 . void main() { int k; for (k=1;k<5;k++〉 { if(k%2!=0) printf("#”); else printf("*”); } } A. #*#* B . *#*# C. ## D. 以上都不对C 8.设变量定义为 int a[3]={1,4,7},*p=&a[2],则*p的值是(35) . A. &a[2] B. 4 C. 7 D. 1 D 9.能正确表示a和b同时为正或同时为负的逻辑表达式是_________. A.a>=0||b>=0)&&(a<0 ||b<0) B.(a>=0 && b>=0)&&(a<0 && b<0) C.(a+b>0) &&(a+b<=0) D. a*b>0 A 10.C语言中,合法的字符型常数是_________. A.‘A’ B."A” C. 65 D.

电大《C语言程序设计》2019-2020模拟试卷及答案

《C语言程序设计》2019-2020模拟试卷及答案 一、单项选择题。把合适的选项编号填写在括号内。 1.不符合C语言规定的复合语句是()。D A.{} B.{;} C.{x=0;} D.{y=10} 2.C语言中的选择类语句有两条,它们是()。A A.if和switch B.if和else C.switch和case D.else和case 3.在每个C语言程序中都必须包含有这样一个函数,该函数的函数名为( )。A A. main B. MAIN C. name D. function 4. 在C语言程序中,多行注释语句使用的开始标记符为()。B A. // B. /* C. */ D. ** 5. 用于输出表达式值的标准输出函数是()。C A. scanf() B. print() C. printf() D. output() 6. 在printf()函数调用的格式字符串中,每个格式符的先导字符为()。B A. # B. % C. $ D. @ 7. 由C语言源程序文件编译而成的目标文件的扩展名为( )。C A. cpp B. exe C. obj D. C 8. 由C语言目标文件连接而成的可执行文件的扩展名为( )。B A. cpp B. exe C. obj D. c 9.每个C程序文件在编译时可能出现有警告性错误,其对应的标识符号为()。A A. warning B. error C. warn D. err 10. 在C语言中,表示换行符的转义字符为()。C A. \f B. \r C. \n D. \m 11. 字符串“a+b=12\n”的长度为()。B A. 6 B. 7 C. 8 D. 9 12. 要定义a和b为两个整型变量,则使用的定义语句为()。B A. int a;b; B. int a,b; C. int a b; D. int a:b; 13. 下列数值中最大值是()。C A. 28/8 B. 35/13 C. 28%8 D. 35%5 14. 下列数值中最小值是()。D

2022年 国开形考任务 C语言程序设计 C语言程序设计模拟试卷(3)1

题目:由C语言源程序文件编译而成的目标文件的默认扩展名为( )。 选项A:exe 选项B:obj 选项C:c 选项D:cpp 答案:obj 题目:设x和y均为逻辑值,则x || y为假的条件是( )。 选项A:它们均为真 选项B:它们均为假 选项C:其中一个为假 选项D:其中一个为真 答案:它们均为假 题目:枚举类型中的每个枚举常量的值都是一个()。 选项A:整数 选项B:浮点数 选项C:字符 选项D:记录 答案:整数 题目:循环语句“for(i=0; i=n; i++) S;”中循环体S被执行的次数为( )。 选项A:n 选项B:n-1 选项C:n+1 选项D:1 答案:n+1 题目:假定有定义为“int a[4][5]={{1,3,5},{2,8}};”,则a[1][1]的值为()。选项A:3 选项B:8 选项C:2 选项D:5 答案:8 题目:在下面的选项中,不能作为函数值返回类型的是()。 选项A:int

选项B:new 选项C:void 选项D:long 答案:new 题目:假定x的值为4,y的值为6,则表达式x++*++y的值为()。 选项A:24 选项B:28 选项C:30 选项D:35 答案:28 题目:用calloc函数创建具有10个整型元素的动态存储空间的正确调用是()。选项A:calloc(10,sizeof(char)) 选项B:calloc(10,sizeof(int)) 选项C:calloc(10) 选项D:calloc(sizeof(int),10,) 答案:calloc(10,sizeof(int)) 题目:假定有定义“int b[10], *pb;”,则不正确的赋值为()。 选项A:pb=b 选项B:pb=b+4 选项C:pb=b[5] 选项D:pb=b[0] 答案:pb=b[5] 题目:标准输入设备的文件流标识符是()。 选项A:stdin 选项B:stderr 选项C:stdout 选项D:stdio 答案:stdin 题目:执行“printf("%c",'A'+3);”语句后得到的输出结果为回答。 答案:D 题目:short int类型的长度为回答。

C语言程序设计模拟试题三及答案

C语言程序设计模拟试题三及答案 一、选择题(本题共20道小题,每题2分,共40分。) 1. 若有说明,double *p,a;则能通过scanf语句正确给输入项读入数据的程序段是A)*p=&a; scanf("%lf",p); B) p=(double*)malloc(8);scanf("%f",p); C) p=&a;scanf("%lf",a); D) p=&a; scanf("%le",p); 答案:D 解析: 选项A:此项中 *p是指针指向单元的值引用,&a是a单元的地址,故此项错误。 选项B:scanf中的格式控制符对双精度变量而言是"%lf",而非选"%f",此项错误。选项c:scanf函数的地址表列中不能写成a,此项错误。 选项D:指针p首先指向a单元,再通过键盘以科学计数格式赋值浮点数,此项正确。 2. 两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是 int 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 答案:A 解析:当输入为6时,即x=6,∵++在x后,∴先取x=6与5比较,再取x=6+1=7,6>5成立,输出x=7;同理,当输入为4时,输出x=5。本题考察++,--的优先级与结合性。 3. 下面程序的输出是 A) xyzabcABC B) zabcABC C) yzabcABC D) xyabcABC #include #include int main() { char *p1="abc",*p2="ABC",str[50]="xyz"; strcpy(str+2,strcat(p1,p2)); printf("%s\n", str); } 答案:D 解析:strcat将p2字符串连在p1字符串尾,产生新字符串:abcABC,在讲连接后的值赋在str[2]处,即a将z覆盖,产生新的字符组元素:xyabcABC。本题考察字符串函数应用. 4. 若有以下说明: int a[12]={1,2,3,4,5,6,7,8,9,10,11,12}; char c='a',d,g; 则数值为4的表达式是 A)a[g-c] B)a[4] C)a['d'-'c'] D)a['d'-c]

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

"C语言程序设计"模拟试卷二 一、填空题。〔每空2分,共30分〕 1.设有变量说明语句 int *=1,y=2; 则执行下述printf语句的输出结果是___1.000000___ _____。 printf("%f\n",1.0+*/y); 2.执行下述程序 #include main() { int *,y; scanf("%2d%*2s%1d",&*,&y); printf("%d\n",*+y); } 假设从键盘输入 12345671 则程序的输出结果是__17______。 3.以下程序的功能是:从键盘上输入假设干名学生的成绩(百分制,可带小数,以输入负数或0为完毕标志),统计并输出最高成绩和最低成绩。请填空。 #include main() { float *,ama*,amin; scanf("%f",&*); ama*=*; amin=*; while (*>0&&*<=100) { if (*>ama*) ama*=*; else if (*

} 4.设n 是整型变量,且已具有*正整数值。根据下述数学式 1 1 14131312121+⋅ ++⋅+⋅+n n 求s 的值并输出。 可编写如下之程序段实现之。请填空。 int k; double s,d; s=0.0; d=1.0; K=0; do { s=s+d; _k++ _________; d=1.0/(k*(k+1)); } while (k<=n); printf("%f\n",s); 5.执行下述程序的输出结果是_-3 -4 0 4 4 3___ ____。 #inclued 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.执行下述程序时的输出结果是____6_____ ________。 #include main() { int a[]={2,4,6,},*ptr=&a[0],*=8,y,z; for (y=0;y<3;y++)

C语言程序设计考试试卷(附答案)

C语言程序设计考试试卷(附答案) C语言程序设计考试试卷(附答案) 第一部分:选择题(共40题,每题2分,总分80分) 1. 下列哪个关键字用于定义常量? A. const B. int C. static D. volatile 2. 在C语言中,以下哪个运算符用于将一个整数转换为浮点数? A. * B. / C. % D. + 3. 下列代码的输出结果是什么? ```c #include void main() { int x = 2, y = 3;

printf("%d", x++ * ++y); } ``` A. 7 B. 8 C. 9 D. 10 4. C语言中,以下哪个运算符用于从一个整数中提取指定位数的值? A. << B. >> C. | D. & 5. 下列代码的输出结果是什么? ```c #include void main() { int arr[] = {1, 2, 3, 4, 5}; int *ptr = arr + 2; printf("%d", *ptr);

} ``` A. 1 B. 2 C. 3 D. 4 ...... 40. 下列关于结构体的说法中,错误的是: A. 结构体可以包含不同类型的成员变量 B. 结构体可以作为函数参数和返回值 C. 结构体可以使用“->”来访问成员变量 D. 结构体可以使用“sizeof()”函数获取其大小 第二部分:填空题(共10题,每题4分,总分40分) 1. 以下是有效的C语言标识符:___hello___ 2. 下列代码的运行结果是:___88___ ```c #include void main() {

长安大学网络教育《C语言程序设计》模拟试卷及参考答案

一、填空题(本题每空1分,共计15分) 1.设int a = 2,b = 3;float x = 3.5,y = 2.5;表达式(float)(a+b)/2+(int)x%(int)y的值为 3.5 。 2.结构化程序设计的三种基本结构是顺序结构,选择结构,循环结构。 3.设a = 3 , b = 2 , c = 1 , 则!(a+b)+c-6&&c+b%2的值为 1 。 4.int a = 6 ; 若a *= 2+3,则a = 30 ;又若a /= a+a,则a = 0 ;又若a+=a-= a*=a, 则a = 0 ; 5.int a = 2 ,b ,c ; b = ++a ; c = (a++)+(b++) ; 则c = 6 ,a = 4 ,b = 4 6、判断char型变量ch是否为大写字母的正确表达式是:ch>=’A’&&ch<=’z’ 7、若a=1;b= 2;c=2; if(a

国家二级C语言(C语言程序设计)机试模拟试卷14(题后含答案及解析)

国家二级C语言(C语言程序设计)机试模拟试卷14(题后含答案及 解析) 题型有:1. 选择题 选择题 1.以下能正确定义且赋初值的语句是 A.int n1=n2=10; B.char c=32; C.float f=f+1.1; D.double x=12.3E2.5; 正确答案:B 解析:本题主要考查变量的定义和赋值,C语言中变量的定义形式为:类型说明符变量名=初始值;选项A)中,n1和n2只能单独赋初值;选项B)正确,定义了一个字符变量c,初值为32;选项C错误,初值设置自身不能参与运算;选项D)中字母E后面的指数必须是整数。知识模块:C语言程序设计 2.设有定义:int n1=0,n2,*p=n2,*q=n1;,以下赋值语句中与n2=n1;语句等价的是 A.*p=*q; B.p=q; C.*p=n1; D.p=*q; 正确答案:A 解析:本题考查指针的使用。指针p和q分别指向变量n2和n1,n2=n1可以用指针来代替,即+p代替n2,*q代替n1。知识模块:C语言程序设计 3.以下函数的功能是:通过键盘输入数据,为数组中的所有元素赋值。#include<stdio-h>#define N10void fun(int x[N]){int i=0;while(i<N)scanf(“%d”,_______);}在程序中下划线处应填入的是 A.x+i B.x[i+1] C.x+(i++) D.x[++i] 正确答案:C 解析:本题考查数组和scanf函数的使用。程序通过while循环来给数组元素赋值,赋值语句通过调用scanf函数来实现。scanf函数从键盘接收数据,第二个参数是数据保存的地址,因此选项B)和选项D)不是地址,错误。选项A)和选

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

《C语言程序设计》模拟试卷十二 一、填空题.(每题2分,共20分) 1.C语句必须以号结束 2.若已定义x和y为double类型,则表达式x=1,y=x+3/2 的值是。 3.若有以下程序段, int c1=1,c2=2,c3; c3=1.0/c2*c1; 则执行后,c3中的值是. 4.设有定义:int n,*k=&n;以下语句将利用指针变量k读写变量n中的内容,请将语句 补充完整。 scanf(“%d, " ); printf(“%d\n”, .); 5.若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值 是 . 6.有以下程序段 int k=0 while(k=1)k++; while 循环执行的次数是。 7.表达式a = 1,a + 1,a + + 的值是___________________。 8.设char string[]=″This_is_a_book!″;则数组的长度应是________________。 9.设int a[2][3] = {{2},{3}};则数组元素_____________________的值为3。 10.设有如下变量说明语句 int a[8]={44,55,12,42,94,18,6,67},*p=a; 则通过指针变量p引用值为18的表达式是____ ____。 11.执行下述程序 #include

num++; while (b[n]) { *(a+num)=b[n]; num++; n++; } return (num); } main() { char strl[81],str2[81],*p1=str1,*p2=str2; gets(p1); gets(p2); printf("%d\n”,strlength(p1,p2)); } 若从键盘输入 qwerty abcd 则输出结果是____ ___. 二、单项选择题。(每题2分,共40分) 1.下列叙述中错误的是() A)计算机不能直接执行用C语言编写的源程序 B)C程序经C编译程序编译后,生成后缀为.obj的文件是一个二进制文件 C)后缀为。obj的文件,经连接程序生成后缀为.exe的文件是一个二进制文件D)后缀为.obj和。exe的二进制文件都可以直接运行 2.按照C语言规定的用户标识符命名规则,不能出现在标识符中的是() A)大写字母 B)连接符 C)数字字符 D)下划线 3.以下叙述中错误的是()

相关主题