当前位置:文档之家› C语言考试系统题库

C语言考试系统题库

C语言考试系统题库
C语言考试系统题库

A━━━━━━━━━━━━━━━

二、判断共10题(共计10分)

━━━━━━━━━━━━━━━

红颜色标注表示重要的题,蓝颜色标注表示有点疑问的题

第1题逻辑表达式-5&&!8的值为1. 答案:N

第2题如果被调用函数的定义出现在主调函数之前,可以不必加以声明. 答案:Y

第3题十进制数15的二进制数是1111. 答案:Y

第4题C语言的函数可以嵌套定义. 答案:N

第5题若有定义和语句:

int a[3][3]={{3,5},{8,9},{12,35}},i,sum=0;

for(i=0;i<3;i++) sum+=a[i][2-i];则sum=21. 答案:Y

第6题结构体类型只有一种。答案:N

第7题若有说明int c;则while(c=getchar());是正确的C语句。答案:Y

第8题C语言的switch语句中case后可为常量或表达式或有确定值的变量及表达式. 答案:N case后面只能跟常量或常量表达

第9题若有宏定义:#define S(a,b) t=a;a=b;b=t由于变量t没定义,所以此宏定义是错误的。答案:N t只用来存放变量a,b

第10题C语言本身不提供输入输出语句,输入和输出操作是由函数来实现的。答案:Y

第6题int a[3][4]={{1},{5},{9}}; 它的作用是将数组各行第一列的元素赋初值,其余元素值为0。答案:Y

第7题语句printf("%f\n",1.0/3);输出为0.333333。答案:N

第8题c程序总是从程序的第一条语句开始执行. 答案:N 从main函数开始,以mian 为基本单位

第10题若有int i=10,j=2;则执行完i*=j+8;后ⅰ的值为28。答案:N

第4题c语言所有函数都是外部函数. 答案:N

第5题char *p="girl";的含义是定义字符型指针变量p,p的值是字符串"girl"。答案:N p 的值应该为g,而且定义的应该为字符串型变量,不是字符型变量

第6题#define 和printf 都不是C语句。答案:Y

第7题若a=3,b=2,c=1 则关系表达式"(a>b)= =c" 的值为"真"。答案:Y

第10题整数-32100可以赋值给int型和long int型变量。答案:c语言中int整形分配4个字节,long int 分配4个字节

第3题while和do…while循环不论什么条件下它们的结果都是相同的. 答案:N

第5题若i =3,则printf("%d",-i++);输出的值为-4。答案:N 答案为-3

第7题在程序中定义了一个结构体类型后,可以多次用它来定义具有该类型的变量。答案:Y

第9题在C 语言中,此定义和语句是合法的:enum aa{ a=5,b,c}bb;bb=(enum aa)5;答案:Y 第4题两个字符串中的字符个数相同时才能进行字符串大小的比较答案:N 第8题在C程序中, 函数既可以嵌套定义, 也可以嵌套调用答案:N 第9题若有int ⅰ=10, j=0;则执行完语句if (j=0)ⅰ+ +; else ⅰ- -; ⅰ的值为11。答案:N 黄色部分本身就是错误的,应该写成if(j= =0),请教别人

第5题若有定义和语句:int a;char c;float f;scanf("%d,%c,%f",&a,&c,&f);若通过键盘输入:10,A,12.5,则a=10,c='A',f=12.5. 答案:Y

第7题用fopen("file","r+");打开的文件"file"可以进行修改。答案:

Y

第9题一个include 命令可以指定多个被包含的文件。答案:N

第10题进行宏定义时,宏名必须使用大写字母表示。答案:N 第5题7&3+12的值是15。答案:N

第9题C语言中只能逐个引用数组元素而不能一次引用整个数组。答案:Y

第10题char c[ ]="Very Good"; 是一个合法的为字符串数组赋值的语句。答案:Y

第5题在Turbo C中,下面的定义和语句是合法的:file *fp;fp=fopen("a.txt","r");答案:N

第7题若有int ⅰ=10, j=0;则执行完语句if (j=0)ⅰ+ +; else ⅰ- -; ⅰ的值为11。答案:N

第9题通过return语句,函数可以带回一个或一个以上的返回值。答案:N 只能带回一个返回值

━━━━━━━━━━━━━━━

一、填空共10题(共计10分)

━━━━━━━━━━━━━━━

第1题(1.0分)

若在程序中用到"strlen()"函数时,应在程序开头写上包含命令# include "【1】".

答案:

=======(答案1)=======

string.h

第2题(1.0分)

从函数的形式上看,函数分为无参函数和【1】两种类型.

答案:

=======(答案1)=======

有参函数

第3题(1.0分)

已知:int i=8,j=10,m,n;m=++i;n=j++;问语句执行后m=【1】,n=【2】。

答案:

=======(答案1)=======

9

=======(答案2)=======

10

第4题(1.0分)

C语言中一个函数由函数首部和【1】两部分组成.

答案:

=======(答案1)=======

函数体

第5题(1.0分)

已知a=10,b=15,c=1,d=2,e=10,则表达式a++&&e++&&c++的值为【1】.

答案:

=======(答案1)=======

1

第6 (1.0分)

语句:x++; ++x; x=x+1; x=l+x;执行后都使变量x中的值增1,请写出一条同一功能的赋值语句【1】.

答案:

=======(答案1)=======

x+=1

第7题(1.0分)

C语言中调用【1】函数来打开文件.

答案:

=======(答案1)=======

fopen

=========或=========

fopen()

第8题(1.0分)

求字符串长度的库函数是【1】,只写函数名即可.

答案:

=======(答案1)=======

strlen

第9题(1.0分)

设c语言中,int类型数据占2个字节,则long类型数据占【1】个字节,short类型数据占【2】个字节.

答案:

=======(答案1)=======

4

=======(答案2)=======

2

第10题(1.0分)

在C程序中,数据可以用二进制和【1】两种代码形式存放.

答案:

=======(答案1)=======

ASCII

━━━━━━━━━━━━━━━━━

三、单项选择共30题(共计30分)

━━━━━━━━━━━━━━━━━

第1题(1.0分)

C语言源程序文件经过C编译程序编译后生成的目标文件的后缀为

A:.c

B:.obj

C:.exe

D:.bas

答案:B

第2题(1.0分)

下列( )表达式的值为真,其中a=5;b=8;c=10;d=0

A:a*2>8+2

B:a&&d

C:(a*2-c)||d

D:a-b

答案:D

第3题(1.0分)

C语言源程序文件经过C编译程序编译连接之后生成一个后缀为()的可执行文件A:.c

C:.exe

D:.bas

答案:C

第4题(1.0分)

C语言源程序名的后缀是

A:exe

B:c

C:obj

D:cp

答案:B

第5题(1.0分)

从循环体内某一层跳出,继续执行循环外的语句是

A:break语句

B:return语句

C:continue语句

D:空语句

答案:A

第6题(1.0分)

在一个C源程序文件中,若要定义一个只允许本源文件中所有函数使用的全局变量,则该变量需要使用的存储类型是

A:extern

B:register

C:auto

D:static

答案:D

第7题(1.0分)

下列数据中属于"字符串常量"的是

A:ABC

B:"ABC"

C:'ABC'

D:'A'

第8题(1.0分)

若变量已正确定义,执行语句scanf("%d,%d,%d ",&k1,&k2,&k3);时,___是正确的输入A:2030,40

B:20 30 40

C:20, 30 40

D:20,30,40

答案:D

第9题(1.0分)

C语言的if语句中,用作判断的表达式为

A:任意表达式

B:逻辑表达式

C:关系表达式

D:算术表达式

答案:A

第10题(1.0分)

能正确表示逻辑关系:" a≥10或a≤0 "的C语言表达式是

A:a>=10 or a<=0

B:a>=0 | a<=10

C:a>=10 && a<=0

D:a>=10 || a<=0

答案:D

第11题(1.0分)

逻辑运算符两侧运算对象的数据类型()。

A:只能是0或1

B:只能是0或非0正数

C:只能是整型或字符型数据

D:可以是任何类型的数据

答案:D

第12题(1.0分)

以下函数调用语句中实参的个数是()。

func((e1,e2),(e3,e4,e5));

A:2

B:3

C:5

答案:A

第13题(1.0分)

在C语言的函数中,下列正确的说法是()。

A:必须有形参

B:形参必须是变量名

C:可以有也可以没有形参

D:数组名不能作形参

答案:C

第14题(1.0分)

对以下说明语句int a[10]={6,7,8,9,10}; 的正确理解是()。

A:将5个初值依次赋给a[1]至a[5]

B:将5个初值依次赋给a[0]至a[4]

C:将5个初值依次赋给a[6]至a[10]

D:因为数组长度与初值的个数不相同,所以此语句不正确

答案:B

第15题(1.0分)

若定义:int a=511,*b=&a; 则printf("%d\n",*b);的输出结果为()。A:无确定值

B:a的地址

C:512

D:511

答案:D

第16题(1.0分)

以下不符合C语言语法的赋值语句是()。

A:a=1,b=2

B:++j;

C:a=b=5;

D:y=(a=3,6*5);

答案:A 缺少分号

第17题(1.0分)

若有说明: int a[3][4]={0};则下面正确的叙述是()。

A:只有元素a[0][0]可得到初值0

B:此说明语句不正确

C:数组a中各元素都可得到初值,但其值不一定为0

D:数组a中每个元素均可得到初值0

答案:D

第18题(1.0分)

设j和k都是int类型,则下面的for循环语句()。

for(j=0,k=0;j<=9&&k!=876;j++) scanf("%d",&k);

A:最多执行10次

B:最多执行9次

C:是无限循环

D:循环体一次也不执行

答案:A

第19题(1.0分)

fseek函数的正确调用形式是()。

A:fseek(文件类型指针,起始点,位移量)

B:fseek(fp,位移量,起始点)

C:fseek(位移量,起始点,fp)

D:fseek(起始点,位移量,文件类型指针)

答案:B

第20题(1.0分)

与实际参数为实型数组名相对应的形式参数不可以定义为()。

A:float a[ ];

B:float *a;

C:float a;

D:float (*a)[3];(*a)[3]指向数组

答案:C

第21题(1.0分)

若int a=3,则执行完表达式a-=a+=a*a后,a的值是

A:-15

B:-9 解析:a-=a+=(a*a)先执行括号中的,a*a此时括号种的值为9,a

依然为3,接下来执行a=a+3,结果为12,想、此时a为

12再接下来执行a=a-12,结果为0

C:-3

D:0

答案:D

第22题(1.0分)

若有定义int a[10],*p=a;,则p+5表示

A:元素a[5]的地址

B:元素a[5]的值

C:元素a[6]的地址

D:元素a[6]的值

解析:其中的a为数组元素a[0]上的首地址,加5就是数组元素a【5】的首地址

答案:A

第23题(1.0分)

若有如下定义和语句,且0<=i<5,下面( )是对数值为3数组元素的引用

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

p=a;

A:*(a+2)

B:a[p-3]

C:p+2

D:a+3

答案:A

第24题(1.0分)

以下程序的输出结果是________.

void fun(int a, int b, int c)

{ a=456; b=567; c=678; }

main()

{ int x=10, y=20, z=30;

fun(x, y, z);

printf("%d,%d,%d\n", z, y, x);}

A:30,20,10

B:10,20,30

C:456567678

D:678567456

答案:A

第25题(1.0分)

已知字符'A'的ASCⅡ代码值是65,字符变量c1的值是'A',c2的值是'D'.执行语句printf("%d,%d",c1,c2-2);后,输出结果是

A:A,B

B:A,68

C:65,66

D:65,68

答案:C

第26题(1.0分)

对于定义,char *aa[2]={"abcd","ABCD"},选项中说法正确的是

A:aa数组元素的值分别是"abcd"和"ABCD"

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

C:aa数组的两个元素分别存放的是含有4个字符的一维字符数组的首地址D:aa数组的两个元素中各自存放了字符'a'和'A'的地址

答案:D

第27题(1.0分)

若有double *p,x[10];int i=5;使指针变量p指向元素x[5]的语句为()。A:p=&x[i];书本上第224页8.2.3就有

B:p=x;

C:p=x[i];

D:p=&(x+i)

答案:A

第28题(1.0分)

以下标识符中,不能作为合法的C用户定义标识符的是()。

A:answer

B:to

C:signed

D:_if

答案:C

第29题(1.0分)

下列各m的值中,能使m%3==2&&m%5==3&&m%7==2为真的是()。A:8

B:23

C:17

D:6

答案:B

第30题(1.0分)

利用fseek 函数可以实现的操作是()。

A:改变文件的位置指针

B:文件的顺序读写

C:文件的随机读写

D:以上答案均正确

答案:D

━━━━━━━━━━━━━━━━

四、程序填空共2题(共计20分)

━━━━━━━━━━━━━━━━

/*-------------------------------------------------------

【第1题(10.0分)

程序填空】

---------------------------------------------------------

功能:写一个函数,求一个字符串的长度,在main函数中输入字符串,并输出其长度。

-------------------------------------------------------*/

scanf("%s",str);

/***********SPACE

#include

main()

{

int length(char *p);

int len;

char str[20];

printf("please input a string:\n");

***********/

len=length(【str】); str

printf("the string has %d characters.",len);

}

/***********SPACE***********/

【?】(p) length

char *p;

{

int n;

n=0;

while(*p!='\0')

{

/***********SPACE***********/

【?】; n++

/***********SPACE***********/

【?】; p++

}

return n;

}

答案:

=======(答案1)=======

str

=======(答案2)=======

length

=========或=========

int length 我习惯了用这种方式写

=======(答案3)=======

n++

=========或=========

++n

=========或=========

n=n+1

=========或=========

n+=1

=======(答案4)=======

p++

=========或=========

++p

=========或=========

p=p+1

=========或=========

p+=1

第2题(10.0分)

/*-------------------------------------------------------

【程序填空】

---------------------------------------------------------

功能:输入一正整数n、打印1-n能够组成的所有自然数集合(包含空集)。

-------------------------------------------------------*/

#include

#include

#define MAXSiZE 20

#define LOOP 1

void main(void)

{

int set[MAXSiZE];

int n, i;

int position;

char line[100];

printf("\nAll Possible Subsets Generation by Lexical Order");

printf("\n================================================"); printf("\n\nNumber of Elements in the Set --> ");

gets(line);

n = atoi(line);

printf("\n{}");

position = 0;

set[position] = 1;

while (LOOP)

{

/***********SPACE***********/

printf("\n{%d", 【?】); set[0]

for (i = 1; i <= position; i++)

printf(",%d", set[i]);

printf("}");

if (set[position] < n)

{

/***********SPACE***********/

set[【?】] = set[position] + 1; position+1

position++;

}

else if (position != 0)

set[--position]++;

else

/***********SPACE***********/

【?】; break

}

答案:

=======(答案1)=======

set[0]

=======(答案2)=======

position+1

=======(答案3)=======

break

━━━━━━━━━━━━━━━━

五、程序改错共1题(共计10分)

━━━━━━━━━━━━━━━━

第1题(10.0分)

/*------------------------------------------------------

【程序改错】

--------------------------------------------------------

功能:编写函数fun求20以内所有5的倍数之积。

------------------------------------------------------*/

#include

#define N 20

int fun(int m)

{

/**********FOUND**********/

int s=0,i; int s=1 , i ;

for(i=1;i

/**********FOUND**********/

if(i%m=0) if(i%m==0)

/**********FOUND**********/

s=*i; s*=i;

return s;

main()

{

int sum;

sum=fun(5);

printf("%d以内所有%d的倍数之积为:%d\n",N,5,sum); }

答案:

=======(答案1)=======

int s=1 , i ;

=======(答案2)=======

if(i%m==0)

=======(答案3)=======

s=s*i;

=========或=========

s=i*s;

=========或=========

s*=i;

━━━━━━━━━━━━━━━━

六、程序设计共2题(共计20分)

━━━━━━━━━━━━━━━━

第1题(10.0分)

/*------------------------------------------------

【程序设计】

--------------------------------------------------

功能:统计出若干个学生的平均成绩,最高分以及得最高分的人数。

例如:输入10名学生的成绩分别为92,87,68,56,92,84,67,75,92,66,则输出平均成绩为77.9,

最高分为92,得最高分的人数为3人。

------------------------------------------------*/

#include

void wwjt();

float Max=0;

int J=0;

float fun(float array[],int n)

{

/**********Program**********/

/********** End **********/

}

main( )

{

float a[10],ave;

int i=0;

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

scanf("%f",&a[i]);

ave=fun(a,10);

printf("ave=%f\n",ave);

printf("max=%f\n",Max);

printf("Total:%d\n",J);

wwjt();

}

void wwjt()

{

FILE *IN,*OUT;

float iIN[10],iOUT;

int iCOUNT;

IN=fopen("in.dat","r");

if(IN==NULL)

{

printf("Please V erify The Currernt Dir..it May Be Changed"); }

OUT=fopen("out.dat","w");

if(OUT==NULL)

{

printf("Please V erify The Current Dir.. it May Be Changed");

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

fscanf(IN,"%f",&iIN[iCOUNT]);

iOUT=fun(iIN,10);

fprintf(OUT,"%f %f\n",iOUT,Max);

fclose(IN);

fclose(OUT);

}

答案:----------------------

int i;float sum=0,ave;

Max=array[0];

for(i=0;i

{ if(Max

sum=sum+array [i]; }

ave=sum/n;

for(i=0;i

if(array [i]==Max) J++;

return(ave);

----------------------

第2题(10.0分)

/*------------------------------------------------

【程序设计】

--------------------------------------------------

功能:求一分数序列2/1,3/2,5/3,8/5,13/8,21/13…

的前n项之和。

说明:每一分数的分母是前两项的分母之和,每一分数的分子是前两项的分子之和

例如:求前20项之和的值为32.660259。

------------------------------------------------*/

#include

void wwjt();

float fun(int n)

{

/**********Program**********/

/********** End **********/

}

main()

{

float y;

y=fun(20);

printf("y=%f\n",y);

wwjt();

}

void wwjt()

{

FILE *IN,*OUT;

int iIN,i;

float fOUT;

IN=fopen("in.dat","r");

if(IN==NULL)

{

printf("Please V erify The Currernt Dir..it May Be Changed"); }

OUT=fopen("out.dat","w");

if(OUT==NULL)

{

printf("Please V erify The Current Dir.. it May Be Changed"); }

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

{

fscanf(IN,"%d",&iIN);

fOUT=fun(iIN);

fprintf(OUT,"%f\n",fOUT);

}

fclose(IN);

fclose(OUT);

}

答案:----------------------

int i;

float f1=1,f2=1,f3,s=0;

for(i=1;i<=n;i++)

{f3=f1+f2;

f1=f2;

f2=f3;

s=s+f2/f1;

}

return s;

----------------------

━━━━━━━━━━━━━━━

━━━━━━━━━━━━━━━

一、填空

第5题(1.0分)

int x; x=3*4%-5/6, 则x的值为【1】.

答案:3

解析:3乘以4等于12 ,再除以-5取余,再除以6,得到结果为0 。注意:除法的结果中最后的值应该采用接近于0的方法

=======(答案1)=======

第6题(1.0分)

若有以下数组a,数组元素:a[0]~a[9],其值为9 4 12 8 2 10 7 5 1 3

该数组中下标最大的元素的值是【1】.

答案:

=======(答案1)=======

3

第7题(1.0分)

执行语句char str[81]="abcdef";后,字符串str结束标志存储在str[【1】](在括号内填写下标值)中.

答案:

=======(答案1)=======

6

第8题(1.0分)

当a=1,b=2,c=3时,执行以下程序段后c=【1】.if (a>c) b=a; a=c; c=b;

答案:

=======(答案1)======= 解析:在此题中if语句中的条件不满足就只能执行if语句之后的几个句子,而不是if不满足就结束程序

2

第9题(1.0分)

已知a=10,b=15,c=1,d=2,e=0,则表达式!a

=======(答案1)=======

第10题(1.0分)

C程序在执行过程中,不检查数组下标是否【1】.

答案:

=======(答案1)=======

越界

━━━━━━━━━━━━━━━

━━━━━━━━━━━━━━━━━

第13题(1.0分)

下面说明不正确的是()。

A:char a[10]="china";

B:char a[10],*p=a;p="china"

C:char *a;a="china";

D:char a[10],*p;p=a="china"

答案:D

第14题(1.0分)

int (*p)[6]; 它的含义为()。

A:具有6个元素的一维数组

B:定义了一个指向具有6个元素的一维数组的指针变量C:指向整型指针变量

D:指向6个整数中的一个的地址

答案:B

第15题(1.0分)

设int b=2;表达式(b>>2)/(b>>1)的值是()。

A:0

B:2

C:4

D:8

大学C语言考试试题及答案

精选考试类文档,如果您需要使用本文档,请点击下载! 祝同学们考得一个好成绩,心想事成,万事如意! 大学C语言考试试题及答案 姓名成绩 温馨提示:同学们,经过培训学习,你一定积累了很多知识,现在请认真、仔细地完成这张试题吧。加油! 一单项选择题 1. 在C语言中,以 D 作为字符串结束标志 A)’\n’ B)’ ’ C) ’0’ D)’\0’ 2.下列数据中属于“字符串常量”的是( A )。 A.“a” B.{ABC} C.‘abc\0’ D.‘a’ 若干个字符构成字符串 在C语言中,用单引号标识字符;用双引号标识字符串

选项B,C,分别用{}和’’标识字符串 选项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 6.下列C语言用户标识符中合法的是( B )。 A)3ax B)x C)case D)-e2 E)union 7.下列四组选项中,正确的C语言标识符是( C )。 A) %x B) a+b C) a123 D) 123 8、下列四组字符串中都可以用作C语言程序中的标识符的是( A )。 A、print _3d db8 aBc B、I\am one_half start$it 3pai C、str_1 Cpp pow while D、Pxq My->book line# His.age 9.C语言中的简单数据类型包括(D )。 A、整型、实型、逻辑型 B、整型、实型、逻辑型、字符型 C、整型、字符型、逻辑型 D、整型、实型、字符型 10.在C语言程序中,表达式5%2的结果是 C 。 A)2.5 B)2 C)1 D)3 11.如果int a=3,b=4;则条件表达式"a

C语言常见复习题(选择填空)及参考答案

C语言常见复习题及参考答案 一、选择题 1.下述标识符中,()是合法的用户标识符。 A.A#C B.getch C.void D.ab* 2.在C语言中,字符型数据在内存中是以()形式存放的。 A.原码 B.BCD码 C.反码 D.ASCII码 3.以下选项中不合法的用户标识符是()。 A.abc.c B.file C.Main D.PRONTF 4.以下选项中不合法的用户标识符是()。 A.123 B.printf C.Anbsp; D.Dim 5.可以在C语言程序中用做用户标识符的一组标识符是()。 A.void B.as-b3 C.for D.2c define -123 -abc Do WORD If cas SIG 6.在以下各组标识符中,合法的用户标识符是(1)、(2)、(3)。 (1)A.001 B.table_1 C.0_t D.k% Int t*.1 W10 point (2)A.Fast_ B.void C.pbl D. Fast+Big abs fabs beep (3)A.xy_ B.longdouble C.*p D.CHAR 变量1 signed history Float 7.()是构成C语言的基本单位。 A.函数 B.过程 C.子程序 D.子例程 8.若有说明:char s1='\067';char s2="1";char s3='1';则s1中(1),s2中(2),s3中(3)。

(1).A.包含3个字符 B.包含2个字符 C.包含1个字符 D.无定值,说明不合法 (2).A.包含1个字符 B.包含2个字符 C.包含3个字符 D.无定值,说明不合法 (3).A.包含1个字符 B.包含2个字符 C.包含3个字符 D.无定值,说明不合法 9.若x为int型变量,则执行以下语句后,x的值为 x=6; x+=x-=x*x A.36 B.-60 C.60 D.-24 10.在C语言中,char 型数据在内存中是以()形式存储的。 A.原码 B.补码 C.ASCII码 D.反码 11.以下运算符中优先级最低的算符为(),优先级最高的为()。 A.&& B.& C.|= D.|| E.?: F.!= 12.若有运算符>、*=、<<、%、sizeof,则它们按优先级(由低至高)的正确排列顺序为 A.*= << > % sizeof B.<< *= > % sizeof C.*= > << sizeof % D.*= > << % sizeof 13.若有以下类型说明语句 char w; int x; float y; double z; 则表达式w*x+z-y 的结果是()类型。 A.float B.char C.int D.double 14.若w,x,y,z 均为int 型变量,则执行下面的语句后, w=(1), x=(2), y=(3), z=(4)。 w=5; x=4; y=w++*w++*w++; z=--x*=--x*--x;

大学c语言考试题库含答案

================================================== 题号:1482 执行以下程序段后,输出结果和a的值是()。int a=10; printf("%d",a++); A、11 和10 B、11 和11 C、10 和11 D、10 和10 答案: C 题号:2100 已知字符'A'的ASCⅡ代码值是65,字符变量c1的值是'A',c2的值是'D'.执行语句printf("%d,%d",c1,c2-2);后,输出结果是 A、65,66 B、A,B C、65,68 D、A,68 答案: A 题号:5055 相同结构体类型的变量之间,可以()。 A、比较大小 B、地址相同 C、赋值 D、相加 答案: C 题号:3217 int a[10];合法的数组元素的最小下标值为()。 A、1 B、0 C、10 D、9 答案: B

能正确表示逻辑关系:" a≥10或a≤0 "的C语言表达式是 A、a>=0 | a<=10 B、a>=10 or a<=0 C、a>=10 && a<=0 D、a>=10 || a<=0 答案: D 题号:157 main() {int x=1,a=0,b=0; switch (x) { case 0: b++; case 1: a++; case 2: a++;b++;} printf("a=%d,b=%d",a,b); }该程序的输出结果是( ) A、2,2 B、2,1 C、1,1 D、1,0 答案: B 题号:4784 设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f值的 数据类型为()。 A、不确定 B、double C、int D、float 答案: B 题号:1647 以下程序中,while循环的循环次数是______ main() { int i=0;

C语言题库(填空题部分)

二、填空题 1、C语言中对文件读写之前必须先打开文件,文件的打开是通过调用________函数来实现。 答案: 1:fopen#fopen()#fopen() 知识点:知识点/基本理论/C11文件/C11_2文件函数 2、C语言中文件操作结束节后,必须关闭文件。而且关闭文件是通过调用__________函数来实现。 答案: 1:fclose#fclose()#fclose() 知识点:知识点/基本理论/C11文件/C11_2文件函数 3、字符串函数________用于从指定的磁盘文件中读出一个字符串。 答案: 1:fgets#fgets() 知识点:知识点/基本理论/C11文件/C11_2文件函数 4、字符串函数___________用于把一个字符串写入指定的磁盘文件中。 答案: 1:fputs#fputs() 知识点:知识点/基本理论/C11文件/C11_2文件函数 5、字符读写函数____________是用于从磁盘文件中读出一个字符。 答案: 1:fgetc#fgetc()#getc#getc() 知识点:知识点/基本理论/C11文件/C11_2文件函数 6、字符读写函数____________是用于把一个字符写入磁盘文件。 答案: 1:fputc#fputc()#putc#putc() 知识点:知识点/基本理论/C11文件/C11_2文件函数 7、共用体类型变量的定义关键字是________。 答案: 1:union 知识点:知识点/基本理论/C10共用体与枚举类型 8、定义枚举类型时采用的关键字是__________。 答案: 1:enum 知识点:知识点/基本理论/C10共用体与枚举类型 9、在C语言中,从参数的形式看,函数可以分为两类:无参函数和____________函数。 答案: 1:有参 知识点:知识点/基本理论/C6函数与编译预处理/C62函数分类、调用及返回值T 10、在C语言中,函数的返回值是由___________语句传递的。 答案: 1:return#return() 知识点:知识点/基本理论/C6函数与编译预处理/C62函数分类、调用及返回值T 11、在C语言中,按函数在程序中出现的位置可分为以下三种调用方式:函数语句、函数表达式和函数 __________。 答案: 1:参数 知识点:知识点/基本理论/C6函数与编译预处理/C62函数分类、调用及返回值T 12、在C语言中,在调用一个函数的过程中又出现__________或间接地调用该函数本身,这一现象称为函数的递归调用。 答案: 1:直接 知识点:知识点/基本理论/C6函数与编译预处理/C62函数分类、调用及返回值T 13、在C语言中,若确实不要求返回函数值,则应将函数定义为___________类型。 答案: 1:void 知识点:知识点/基本理论/C6函数与编译预处理/C62函数分类、调用及返回值T 14、在C语言中,假使X为基本整型变量,如果我们采用printf("格式控制",X)格式输出X,那么"格式控制"具体表示为"__"。

2020最新C语言考试题库及答案

精选考试类应用文档,如果您需要使用本文档,请点击下载,另外祝您生活愉快,工作顺利,万事如意! 精选考试类文档,如果需要,请下载,希望能帮助到你们! 2020最新C语言考试题库及答案

姓名成绩 温馨提示:同学们,经过培训学习,你一定积累了很多知识,现在请认真、仔细地完成这张试题吧。加油! 一单项选择题 1. 在C语言中,以 D 作为字符串结束标志 A)’\n’ B)’ ’ C) ’0’ D)’\0’ 2.下列数据中属于“字符串常量”的是( A )。 A.“a” B.{ABC} C.‘abc\0’ D.‘a’ 若干个字符构成字符串

在C语言中,用单引号标识字符;用双引号标识字符串 选项B,C,分别用{}和’’标识字符串 选项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 6.下列C语言用户标识符中合法的是( B )。

A)3ax B)x C)case D)-e2 E)union 7.下列四组选项中,正确的C语言标识符是( C )。 A) %x B) a+b C) a123 D) 123 8、下列四组字符串中都可以用作C语言程序中的标识符的是( A )。 A、print _3d db8 aBc B、I\am one_half start$it 3pai C、str_1 Cpp pow while D、Pxq My->book line# His.age 9.C语言中的简单数据类型包括(D )。 A、整型、实型、逻辑型 B、整型、实型、逻辑型、字符型 C、整型、字符型、逻辑型 D、整型、实型、字符型 10.在C语言程序中,表达式5%2的结果是 C 。 A)2.5 B)2 C)1 D)3 11.如果int a=3,b=4;则条件表达式"a

C语言填空题

1、在考生目录下,给定程序FILL1、C的功能就是: 计算正整数num的各位上的数字之积。 例如,若输入:252,则输出应该就是:20。 若输入:202,则输出应该就是:0。 程序有两个空(1)、(2)需要补充完整。并将程序调试出所需的结果。 注意:不要随意改动程序,不得增行或删行,也不得更 改程序的结构! #include #include main( ) {long int num,k; /************found************/ _____(1)_______ k=1; clrscr() ; printf("\Please enter a number:") ; scanf("%ld",&num) ; do { k*=num%10 ; /************found************/ _____(2)______ num=num/10 ; } while(num) ; printf("\n%ld\n",k) ; } 2、在考生目录下,给定程序FILL1、C的功能就是:从键盘上输入一个数字组成的字符串(字符串长度小于8),将该字 符串转换成一个十进制数。 例如:从键盘上输入2345,则程序运行的结果应当为: n=2345。 程序有两个空(1)、(2)需要补充完整。请将程序调试出所需的结果。 注意:不要随意改动程序,不得增行或删行,也不得更 改程序的结构! #include "stdio、h" main() { char s[10]; int i; long int n=0; clrscr(); /**************found************/ ___(1)___; scanf("%s",s); /**************found************/ for(i=0;___(2)___;s[i] != ‘\0’ ;i++) n=n*10+s[i]-'0'; printf("n=%ld\n",n);

C语言考试试题

试题 课程名称C语言程序设计适用时间 试卷类别 A 适用专业、年级、班 一、选择题(每小题2分, 2×25=50分) 1.下列叙述错误的是( )。 A) C程序中的每条语句都用一个分号作为结束符B) C程序中的每条命令都用一个分号作为结束符 C) C程序中的变量必须先定义,后使用 D) C语言以小写字母作为基本书写形式,并且C语言要区分字母的大小写 2.以下叙述不正确的是( )。 A) 一个C源程序必须包含一个main函数B) 一个C源程序可由一个或多个函数组成 C) C程序的基本组成单位是函数D) 在C程序中,注释说明只能位于一条语句的后面 3.C语言中最简单的数据类型包括( )。 A)整型、实型、逻辑型B)整型、实型、字符型 C)整型、字符型、逻辑型D)字符型、实型、逻辑型 4.C语言中运算对象必须是整型的运算符是( )。 A)%= B)/ C)= D)<= 5.若变量a,i已正确定义,且i已正确赋值,合法的语句是( )。 A)a= =1 B)++i;C)a=a++=5;D)a=int(i); 6.下列运算符中优先级最高的是( )。 A) < B) + C) && D) ! = 7.设有说明:char w;int x;float y;double z;则表达式w*x+z-y 值的数据类型是( )。 A) int B) float C) double D) char 8.设x和y均为int型变量,则语句:x+=y;y=x-y;x-=y;的功能是( )。 A)把x和y按从大到小排列B)把x和y按从小到大排列C)无确定结果D)交换x和y中的值 9.设整型变量a,b的值均为8, printf("%d,%d",(a++,++b),b--);的输出是( )。 A)8,8 B)8,7 C)9,9 D)8,9 10.若有语句scanf("%d%d",&a,&b);要使变量a,b分别得到10和20,正确的输入形式为( )。 A)10 20 B)10,20 C)1020 D)10:20 11.判断char型变量ch是否为大写字母的正确表达式是( )。 A)'A'<=CH<='Z' B) (CH>='A')& (CH<='Z') C)(CH>='A')&& (CH<='Z') D) ('A'<=ch)AND('Z'>=ch) 12.有如下程序 main( ) { int x=1,a=0,b=0; switch(x) { case 0: b++; case 1: a++; case 2: a++;b++; } printf("a=%d,b=%d\n",a,b);} 该程序的输出结果是( )。 A) a=2,b=1 B) a=1,b=1 C) a=1,b=0 D) a=2,b=2 13.以下程序的功能是:按顺序读入10名学生4门课程的成绩,计算出每位学生的平均分并输出,程序如下: main( ) { int n,k; float score,sum,ave; sum=0.0; for(n=1;n<=10;n++) { for(k=1;k<=4;k++) { scanf("%f",&score); sum+=score; } ave=sum/4.0; printf("NO%d:%f\n",n,ave); } } 上述程序运行后结果不正确,调试中发现有一条语句出现在程序中的位置不正确。这条语句是( )。 A) sum=0.0; B) sum+=score; C) ave=sun/4.0; D) printf("NO%d:%f\n",n,ave);

C语言填空题以及答案

1. 一条简单语句是以________字符作为结束符的,一条复合语句是分别以 ________字符和________字符作为开始符和结束符的。 2. 任何一个C++程序至少且只能包含一个________函数,且程序总是从这个函数开始执行,不论这个函数的位置如何。一个函数定义由________和________两部分组成。 3. C++头文件和源程序文件的扩展名分别为________和________。 4. cout与操作符_______配合使用才能显示输出,cin与操作符_____配合使用才能实现输入。 5. 数据类型int,char,bool,float,double, int * 等的类型长度分别为________、________、________、________、________和________。 6. 数值常量46、0173和0x62对应的十进制值分别为________、________和________。 7. 字符串”It\’s\40a\40C++programe!”中包含有__________个字符。 8. 若x=5,y=10,则计算y*=++x表达式后,x和y的值分别为________和 ________。 9. 若x=25,则计算y=x--表达式后,x和y的值分别为________和________。 10. 假定x和ch分别为int型和char型,则sizeof(x)和sizeof(ch)的值分别为________和________。 11. 假定x=64,y=88,则x<<2和y>>2的值分别为________和________。 12. 假定x是一个逻辑量,则x&&true的值与________的值相同,x||false的值也与________的值相同。 13. 假定x是一个逻辑量,则x&&!x和x||!x的值分别为________和________。 14. 假定x=10,则表达式x<=10?20:30的值为________。 15. 表达式sqrt(81)和pow(6,3)的值分别为______________和 ______________。 16. 数学算式(1+x)sin48°和axbex+1对应的算术表达式分别为________和 ________。 17. 逻辑表达式:a>=x||b>2*y+10的相反式为:________。 18. 在嵌套的if语句中,每个else关键字与它前面最接近的________关键字相配套。 19. 在for语句中,假定循环体被执行次数为n,则<表达式1>共被计算________次,<表达式2>共被计算________次,<表达式3>共被计算________次。20. 执行for和while循环时,每次是先进行________的判断,然后再执行 ________,执行do循环时则相反。

c语言程序填空题完整

三、程序填空题 导读:在程序填空题中,已经给出了程序的主干,读者首先要理解程序的思路,再选择正确的内容填入空白处,使程序完成既定的功能。这类习题的设计就是要引导读者逐步掌握编程的方法。本节习题的难度适中,可能有些典型的程序在课堂上已经有所接触,读者一定要独立完成它,这样就可以逐步提高自己的编程能力。在程序设计语言学习的中期,读者对程序设计已经有了初步的了解,而自己编写程序又不知从何处入手,此时解答此类题目可以避免盲目性,从而提高学习的效率。 【3.1】下面程序的功能是不用第三个变量,实现两个数的对调操作。 #include main() { int a,b; scanf("%d%d",&a,&b); printf("a=%d,b=%d\n",a,b); a= ① ; b= ② ; a= ③ ; printf("a=%d,b=%d\n",a,b); }

【3.2】下面程序的功能是根据近似公式:π2/6≈ 1/12+1/22+1/32+ …… +1/n2,求π值。 #include double pi(long n) { double s=0.0; long i; for(i=1;i<=n;i++) s=s+ ① ; return( ② ); } 【3.3】下面的程序的功能是求一维数组中的最小元素。 findmin(int *s,int t,int *k) { int p; for(p=0,*k=p;p

c语言考试题

高三11月份月考C语言考试题 一、选择题:(30分) 1.在每一个C程序中都必须包含一个名为()的函数. A.main B. MAIN C. name D. function 2.以下叙述正确的是(). A.C程序中注释部分可以出现在程序中任意合适的地方 B.花括号{和}只能作为函数体的定界符 C.构成C程序的基本单位是函数, 所有函数名都可以由用户命名 D.分号是C语句之间的分隔符, 不是语句的一部分 3.若有定义int a; 变量a占用内存的2个字节, 则a所能存储数据的最 小值是(). A.0 B. -32767 C. -32768 D. -65535 4.在下列4组八进制和十六进制数中, 全部正确的是(). A.123 089 0x23af 0xbd B. 0a21 056 0xabc 0x789 C.010 052 0xdfa 0xff14 D. 0x123 0283 0xabc 0x25f 5. 设有定义”int x=8,y,z;”执行”y=z=x++; x=y==z;”后,变量x的值是() A. 0 B. 1 C. 8 D. 9 6. 能正确表示关系33 and x<5 B. 33||X<5 D. x>3&&x<5 7. 下面表达式正确的是() A. a+b=5 B. 56=a11 C. 5.6+6.2%3.1 D. a=5,b=6,c=7 8. 已知a为整型变量,表达式a!=0真假情况不同的表达式是() A. a>0||a<0 B. a C. !a==0 D. !a 9. 下面程序的输出结果是() main() { int x=’\23’; printf(“%d\n”,--x); } A.19 B. 18 C. 23 D. 24 10. 以下运算符优先级别最低的是() A. ++ B. , C. ?: D. / 11. 下面程序如果在运行时输入18,18,那么b的值是() main() { int a,b; scanf(“%d,%o”,&a,&b); b+=a; printf(“%d”,b); } A. 36 B. 34 C. 输入错误,b的值不确定 D. 18 12. 有以下程序,执行后输出的结果是() main() { int a=5,b=4,c=3,d=2; if(a>b>c) printf(“%d”,d); } A. 2 B. 无输出 C. 5 D. 有语法错误,编译不能通过 13. 执行下面程序段的输出结果是()。 int x=4, y=-55; if(x>0) if(y>0) printf(“AA”); else printf(“BB”); A. AA B. BB C. 无输出 D. 程序错误 14.以下程序的输出结果是()。 main() { if(2==3-1<=8!=4*3) printf(“true\n”); else printf(“false”); } A. true B. false C. T D. F 15.选择i正确的运行结果是() int i=10; switch(i) { case 9: i+=1; break; case 10: i+=1; break; case 11: i+=1; default: i+=1; } A.10 B. 11 C. 12 D. 13 二、填空题(30分) 1.设变量num和变量x的数据类型均为float, num的值为 2.5, 则执行 语句x=(int)num+3.2E-1;后, num的值为______,x为_______。 2.C语言规定: 在每一个字符串结尾加上个______,以便根据此判断是否 结束。 3.当a=6,x=6.8,b=4时,表达式x+a%7(int)x+8/3+b的值是 _____

C语言填空题

1. 在考生目录下,给定程序FILL1.C的功能是: 计算正整数num的各位上的数字之积。 例如,若输入:252,则输出应该是:20。 若输入:202,则输出应该是:0。 程序有两个空(1)、(2)需要补充完整。并将程序调试出所需的结果。 注意:不要随意改动程序,不得增行或删行,也不得更改程序的结构! #include #include main( ) {long int num,k; /************found************/ _____(1)_______ k=1; clrscr() ; printf("\Please enter a number:") ; scanf("%ld",&num) ; do { k*=num%10 ; /************found************/ _____(2)______ num=num/10 ; } while(num) ; printf("\n%ld\n",k) ; } 2. 在考生目录下,给定程序FILL1.C的功能是:从键盘上输入一个数字组成的字符串(字符串长度小于8),将该字符串转换成一个十进制数。 例如:从键盘上输入2345,则程序运行的结果应当为:n=2345。 程序有两个空(1)、(2)需要补充完整。请将程序调试出所需的结果。 注意:不要随意改动程序,不得增行或删行,也不得更改程序的结构! #include "stdio.h" main() { char s[10]; int i; long int n=0; clrscr();

/**************found************/ ___(1)___; scanf("%s",s); /**************found************/ for(i=0;___(2)___;s[i] != ‘\0’ ;i++) n=n*10+s[i]-'0'; printf("n=%ld\n",n); } 3. 在考生目录下,给定程序FILL1.C的功能是:输出Fabonacci数列:1,1,2,3,5,8,……的前20项的 项值,要求每行输出5个数。请填空。 程序有两个空(1)、(2)需要补充完整。请将程序调试出 所需的结果。 注意:不要随意改动程序,不得增行或删行,也不得更 改程序的结构! #include "stdio.h" main() { long int f[20]={1,1}; int i; clrscr(); /**************found************/ ___(1)___; printf("%8ld,%8ld",f[0],f[1]); for(i=2;i<20;i++) { f[i]=f[i-1]+f[i-2]; /**************found************/ if(___(2)i%5==0) printf("\n"); printf("%8ld",f[i]); } printf("\n"); } 4. 在考生目录下,给定程序FILL1.C的功能是:实现在N行M列的二维数组中,找出每一行上的最大值,且原数组值不变。 例如:如果二维数组元素的值为: 1 5 7 4 2 6 4 3 8 2 3 1 时,程序的运行结果应为: The max value in line 0 is 7 The max value in line 1 is 6

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);

c语言经典选择填空题1

选择题(30分)(第一部分分10分,第二部分12分,第三部分8分) 第一部分:简单类题目(50个题目,从中选择10,每题1分) 1、若num、a、b和c都是int型变量,则执行表达式num=(a=4,b=16,c=32)后num的值为(C)A.4B.16 C.32D.522 2.以下程序的输出结果(B)。 main( ) { int x1=3, x2=0, x3=0; if (x1=x2+x3) printf("* * * *"); else printf("# # # #"); } A.输出:* * * * B.输出:# # # # C.存在语法错误D.无输出结果 3.下面四个选项中,均是合法转义字符的选项是(A)。 A.'\'' '\\' '\n' B.'\' '\017' '\"' C.'\018' '\f' 'xab' D.'\\0' '\101' 'xlf' 4.若有说明:int a=1,b=2,c=3,d=4;则表达式a

c语言填空题题库

二,填空题(10道小题,共20分) 1、一个C源程序中至少应包含一个[main] 函数。 2、a是整型变量,则执行表达式a=25/3%3后a的值为。[2] 3、int m=5,y=2;则表达式y+=y- =m*=y的值为。[-16] 4、执行下列语句: int a=1, b=2; a=a+b; b=a-b; a=a-b; printf("%d , %d \n", a,b );的输出结果分别是[2,1] 5、条件表达式的格式为表达式1?表达式2:表达式3,若表达式2和表达式3的类型不同,此时条件表达式的值的类型为二者中较[高]的类型 6、当运行以下程序时,从键盘键入right?(代表回车),则下面程序的运行结果是。 #include main( ) { char c; while((c=getchar())! ='?') putchar(++c) } [sjhiu?] 7、C语言中的数组必须先[定义],然后使用。 8、如果需要从被调用函数返回一个函数值,被调用函数必须包含【return】语句。 9、已知:float f1=3.2,f2,*pf1=&f1;f2=f1,则*f2的值为。[3.2] 10、以下程序 void fun(char *a, char *b) { a=b; (*a)++; } main ()

{ char c1="A", c2="a", *p1, *p2; p1=&c1; p2=&c2; fun(p1,p2); printf(“&c&c\n”,c1,c2); } 运行后的输出结果是。[&c&c] 11、字符串常量“123”在内存中的字节数是。[8字节] 12、已有定义 :int x=3 ;则表达式 :x=x+1.78 的值是。【4】 13、int a=24; printf("%o ", a );输出结果是。【30】 14、当a=3,b=2,c=1时,表达式f=a>b>c的值是。【0】 15、下面程序的运行结果是。【x=1,y=20】 #include main() { int i,x,y; i=x=y=0; do {++i; if(i%2!=0) {x=x+i;i++;} y=y+i++; } while (i<=7); printf("x=%d,y=%d\n",x,y); } 16、以下语句char str[10]={"China"}; printf("%d",strlen(str))的输出结果是。[5] 17、为了便于区别全局变量和局部变量,通常将全局变量的首字母。[用大写字母表示] 18、已知:int b=5,*p=&b;并且b的地址为4000,则“printf("%d,%d",p,*p);”的输出结果是。【4000,5】 19、程序main() { int a[2][3]={{1,2,3},{4,5,6}};

C语言考试题及答案

一、单项选择题:(10分,每题2分) 1.char *p[10];该语句声明了一个: c 。 A)指向含有10个元素的一维字符型数组的指针变量p B)指向长度不超过10的字符串的指针变量p C)有10个元素的指针数组p,每个元素可以指向一个字符串 D) 有10个元素的指针数组p,每个元素存放一个字符串 2.若int x;且有下面的程序片断,则输出结果为: D 。 for (x=3; x<6; x++) { printf((x%2) ? "##%d" : "**%d\n", x); } A) ##3B) **3C) **3D)##3**4 **4 ##4 ##4**5 ##5 ##5 **5 3.在while(!x)语句中的!x与下面条件表达式等价的是:D 。 A) x!=0 B) x==1 C) x!=1 D) x==0 4.已知 struct point { int x; int y; }; struct rect { struct point pt1; struct point pt2; }; struct rect rt; struct rect *rp = &rt; 则下面哪一种引用是不正确的__D______。 A) r t.pt1.x B) (*rp).pt1.x C) r p->pt1.x D) rt->pt1.x 5.若二维数组a有m行n列,则下面能够正确引用元素a[i][j]的为: C 。 A) *(a+j*n+i) B) *(a+i*n+j) C) *(*(a+i)+j) D) *(*a+i)+j CDDDC 二、分析程序并写出运行结果。(25分,每题5分) 1. #include main()

c语言考试试题

一、选择题 以下表达式中非法的是_______ A. 0<=x<=10 B. i=j==0 C. (char)(65+3) D. x+1=x+1 设有int x=10,y=10; 表达式x&&x-y || x+y 的结果为_______ A.20 B. 10 C. 0 D. 1 若有int x=3;执行语句if(x) x=x+3;else x=x-3; 后,变量x的值为_____ A. 3 B. 6 C. 0 D. 该语句有语法错误 若有定义int x=3; 执行语句while(x>=0) x-- ; 后,变量x的值为_______ A. 3 B. 0 C. -1 D. 2 若有定义int x=3若有定义char st[20]= "abc\ndef"; 则函数strlen(st)的值为_______ A.20 B.8 C.9 D.7; 在函数调用语句fun((x1,x2),(x3,x4,x5))中的实参的个数是_______ A. 1 B. 2 C.3 D. 4 数组初始化为:int a[10]={1,3,5,7}; 则数组元素a[4]的值为_______ A. 0 B. 7 C. 不确定 D. 1 若有定义int x,*p; 能为变量p正确赋值的表达式为________ A. p=x B. p=*x C. p=&x D. *p=x 若有定义struct sk{int a;float b}data; int *p;若要使p指向data中的成员a,正确 的赋值语句为_______________ A.p=&a; B.p=data.a; C.p=&data.a; D.*p=data.a C语言程序语句的分割符,也就是一条语句的结束符是( )。 A.逗号 B.句号 C.分号 D.括号 字符型变量输入、输出的格式是( )。 A.%d b.%f C.%c d.%s 下面求梯形面积的C语句中变量a,b,h,s是float型,不正确的是( )。 a.s=1/2*(a+b)*h B.s=1.0/2*(a+b)*h C.s=1/2.0*(a+b)*h D.s=(a+b)*h/2 While和do/while二种循环语句可能的最少的循环次数分别是( )。 A.0次和0次 B.0次和1次 C.1次和0次 D.1次和1次 说明char a[10]中定义了( )。 A.a[1]至a[10]共10个变量 B.a[1]至a[9]共9个变量 C.a[0]至a[10]共11个变量 D.a[0]至a[9]共10个变量

C语言考试填空题(全部答案)

计算机程序设计基础(C语言) 程序填空练习题 程序填空:阅读程序。在划线处填写适当的表达式或语句,使程序完整并符合题目要求 1.输入一个字符,判断该字符是数字、字母、空格还是其他字符。 main( ) 参考答案: { char ch; ch=getchar(); if( ) ch>='a'&&ch<='z'|| ch>='A'&&ch<='Z' printf("It is an English character\n"); else if( ) ch>='0'&&ch<='9' printf("It is a digit character\n"); else if( ) ch==' ' printf("It is a space character\n"); else printf("It is other character\n"); } 2.10个学生成绩按交换法排序。 main() { float score[10], temp1; int i, j; printf("Please enter score:\n"); for (i=0; i<10; i++) scanf("%f",&score[i]); for (i=0; i<9; i++) for (j=i+1; j<10; j++) if (score[j] > score[i]) { temp1=score[j]; score[j]=score[i]; score[i]=temp1; } printf("Sorted results:\n"); for (i=0; i<10; i++) printf("%4.0f\n", score[i]); } 11.排序函数:用交换法按成绩由高到低对学生成绩重新排序 void Sort(float score[ ],int n) { int i, j; float temp1; for (i=0; i score[i] { temp1 = score[j]; ; score[j]=score[i]; score[i] = temp1; } } }

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