当前位置:文档之家› c语言题库答案

c语言题库答案

c语言题库答案
c语言题库答案

( )1、下列字符串属于标识符的是( )。

A. _WL

B. 3_3333

C. int

D. LINE -3

( )2、在下面几组数据类型中, 全为最常用的基本数据类型的是哪一组:( )。

A.整型实型字符型

B.整型数组指针

C.数组结构体共用体

D.指针逻辑型空类型

( )3、若有说明语句:char c= ‘\64’ ; 则变量C包含:( )。

个字符个字符

个字符 D.说明不合法,C值不确定

( )4、设有如下定义和执行语句,其输出结果为:( )。

int a=3,b=3;

a = --

b + 1; printf(“%d %d”,a,b);

2 2

3 2

( )5、C语言中,运算对象必须是整型数的运算符是( )。

A. +

B. *

C. %

D. /

( )6、C语言规定,C程序的各函数之间( )。

A.允许嵌套调用,但不允许嵌套定义;

B.不允许嵌套调用,但允许嵌套定义;

C.不允许嵌套调用,也不允许嵌套定义;

D.允许嵌套调用,也允许嵌套定义。( )7、若有如下定义和语句:则输出结果是:( )。

char s[12]= “Mybook”;

printf(“%d”,strlen(s) );

( )8、循环语句中的for语句,其一般形式如下:

for(表达式1;表达式2;表达式3) 语句; 其中表示循环条件的是( )。

A.表达式1

B.表达式2

C.表达式3

D.语句

( )9、以数组作为函数的参数时传递的数组的首地址,那么实参数组与形参数组之间的数据传递方式为。

A. 单向值传递

B. 地址传递

C.双向值传递

D.随机传递

( )10、将字符串str2复制到字符串str1中应使用( )。

(str1,str2) (str1,str2) (str1,str2) (str2,str1)

( )11、若有以下定义:

int a[10],*p=a; 则p+3 表示的是( )。

A.元素a[3]的地址

B.元素a[3]的值

C.元素a[4]的地址

D.元素a[4]的值

( )12、C语言中不能用来表示整常数的进制是( )。

A.十进制

B.十六进制

C.八进制

D.二进制

( )13、用scanf函数输入一个字符串到数组str中,下面正确的语句是:( )。

(“%s”,&str); (“%c”,&str[10]);

(“%s”, str) ; (“%s”,str[10]);

( )14、在说明一个结构体变量时系统分配给它的存储空间是( )。

A.该结构体中第一个成员所需存储空间

B.该结构体中最后一个成员所需存储空间

C.该结构体中占用最大存储空间的成员所需存储空间

D.该结构体中所有成员所需存储空间的总和

( )15、下面程序的输出结果是:( )。

int m=13;

int fun( int x, int y)

{ int m=3;

return( x*y-m); }

main( )

{ int a=7,b=5;

printf(“%d\n”, fun(a,b)/m); }

( )1、C语言中要求运算必须是整形的运算符是()

A.%

B./

C.<

D. +

( )2、下列选项中那一项是不合法的用户标识符()

A. ter3

( )3、设int a=0,b=5;执行表达式a++和++b后,表达式a+b的值是()

( )4、为表示关系x≥y≥z,应使用的C语言表达式是()

A.(x>=y)&&(y>=z)

B.(x>=y)AND(y>=z) >=y>=z D.(x>=y)&(y>=z) ( )5、若有x=15,y=40,m=100,执行了语句m=(x>y)x:y;后,m的值为()

A. 15

B. 40

C. 100

D.

( )6、若变量a,b,c为整型,要给三变量输入数据,正确的输入语句是( ) (a,b,c); (“%d%d%d”,a,b,c);

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

( )7、以下程序段的输出结果是______。

int a=1234;printf("%2d\n",a);

D.提示出错、无结果( )8、以下for循环的执行次数是for(x=0; x<4;x++);()。

A.是无限循环

B.循环次数不定次次

( )9、下面程序段运行结果正确的是()

char c1=65,c2=66; printf(“%c,%c”,c1,c2);

,B ,98 ,B ,98

( )10、设有程序段,则下列描述中正确的是()

int k=10; while(k=0) k=k-1;

A.循环体执行10次

B.循环是无限次循环

C.循环体一次也不执行

D.循环体执行一次

( )11、C语言允许函数类型缺省定义,此时函数值隐含的类型是()。

( )12、下面叙述中正确的是( )。

A. C语言程序总是从第一个定义的函数开始执行

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

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

D. 一个C函数中只允许一对花括号

( )13、下列正确的数组定义语句是()

a(2,3); a[2][]={1,2,3,4}

a[2][2]={{1,2,3},{8,7}}; a[2][4]={1,2,3,4,5,6}

( )14、.若有下列定义和语句,则对a数组元素的非法引用是()。

int a[2][3] ;

A. a[0][0]

B. a[1][1]

C. *(*(a+1)+2)

D. a[2][3]

( )15、.有以下程序段:若int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a,b;

b=p[5]; b中的值是______。

( )16、以下不能正确进行字符串赋初值的语句为______。

str[5]= "good! "str[]="good! "

*str="good! "str[5]={'g','o','o','d'}

( )17、在说明语句:int *f();中,标识符f代表的是______。

A.一个用于指向整型数据的指针变量

B.一个用于指向一维数组的行指针

C.一个用于指向函数的指针变量

D.一个返回值为指针型的函数( )18、有以下定义:不能给数组a输入字符串的语句是______ #include<>

char a[10],*b=a;

A. gets(a);

B. gets(a[0]);

C. gets(&a[0]);

D. gets(b);

( )19、下面程序段的输出结果是______ 。

main(){char strl [ ]=”string”;

printf("%d\n",strlen(strl));}

A. 6

B. 7

C. 10

D.存在语法错误

( )20、void main()

{ struct st { long num; char name[20] ;}; struct st t1;

printf(“%d”,sizeof(t1); }

A. 8

B. 20C

C. 24

D. 38

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

main( )

{char c1;

c1='A';

printf("%c,%d\n",c1,c1); }

A. E,68

B. D,69

C.

A,65 D. 输出无定值

( )2、程序运行的结果是( )

main( )

{ int a=1,b=2;

if(a>b) printf("%d",a);

else printf("%d",b); }

B. 2

C. 1

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

main( )

{ int x=2,a=1,b=1;

switch(x)

{ case 1:a++;

case 2: b++;}

printf(“a=%d,b=%d”,a,b);}

=3,b=2 =1,b=2 =4,b=1 =3,b=1

( ) 4、有以下程序运行后的输出结果是( )

main( )

{ int a=12;

printf (”%d \n”, a>10 a+10:a-12); }

( )5、以下程序运行后的输出结果是( )

main( )

{ int a,b=0;

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

b+=a;

printf (”%d \n”, b); }

( )6、以下叙述中错误的是( )

语言函数可以嵌套定义。

语言函数可以嵌套调用。

语言函数可以递归调用。

D. main函数可以放在程序的开头

( )7、以下关于函数形参和实参的叙述中正确的是( )

A.函数的实参和其对应的形参共占同一存储单元

B.形参只是形式上的存在,不占用具体存储单元

C.同名的实参和形参占同一存储单元

D.函数的形参和实参分别占用不同的存储单元

( )8、以下程序运行后的输出结果是( 2 3 4 )

fun( )

{static int x=1;

x++;

printf(”%3d ”,x); }

main( )

{ int i ,s;

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

fun( ); }

( )9、以下能正确定义数组并正确赋初值的语句是( )

a[2]={ 1,2,3}; B. int n=5,b[n][n];

c[2] ={ }; d [2]={ 1,2};

( )10、以下程序运行后的输出结果是( )

A. 1

B. 2

C. 10

D. 6

sub(int n)

{ if(n>1)return n-3;

else return n+3; }

main()

{ printf(“%d”,sub(5); }

( )1、以下叙述不正确的是( )

A.一个C源程序可由一个或多个函数组成

B.一个C源程序必须包含一个main函数

程序的基本组成单位是函数

D.在C程序中,注释说明只能位于一条语句的后面

( )2、设变量a=2,f=,i=型,则表达式10+a*f-i值的为( )

A.14.6 D.不确定

( )3、若运行时给变量x输入12,则以下程序的运行结果是( ) main()

{int x,y;

scanf("%d",&x);

y=x>12x+10:x-12;

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

( )4、下列说法中错误的是( )

A.只能在循环体内使用break语句

B.在循环体内使用break语句可以使流程跳出本层循环体,从而提前结束本层循

C.在while和do…while循环中,continue语句并没有使整个循环终止

的作用是结束本次循环,即跳过本次循环体中余下尚未执行的语句,接着再一次进行循环判断

( )5、若有说明:int a[][3]={1,2,3,4,5,6,7,8,9};则a数组第一维的大小是

D.无确定值

( )6、下面程序输出的结果是( )

main()

{ int i;

int a[3][3]={1,2,3,4,5,6,7,8,9};

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

printf("%d ",a[i][i]); }

5 9 5 3 5 7 9 1

( )7、已知:char b[20]= "defghi";则执行下列语句后的输出结果为( ) printf("%d",strlen(b));

D.以上答案都不正确

( )8、阅读下列程序,则执行后的结果为( )

#include""

main()

{intc[][4]={{1,2,3,4},{5,6,7,34},{213,56,62,3},{23,12,34,56}};

printf("%d,%d\n",c[0][0],*(*(c+1)+1));}

,6 ,5 ,5 ,6

( )9、以下程序段的描述,输出的结果是( )

x=5;

do

{pritf(“%d ”,x); x--:}

while(x>3);

4 4 3 4 3 2 4 3 2 1

( )10、对以下说明语句的正确理解是( )

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.因为数组长度与初值的个数不相同,所以此语句不正确

( )语言中不能用来表示整常数的进制是( )。

A.十进制

B.十六进制

C.八进制

D.二进制

( )语言规定标识符由( )等字符组成。

A.字母数字下划线

B.中划线字母数字

C.字母数字逗号

D.字母下划线中划线

( )3、以下表达式: 2+’a’+i*f, 其中i为整型变量,f为float型变量,则表达式的最终数据类型为( )。

( )4.设有如下定义

int x=10,y=5,z;

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

( )5.设有如下定义:char ch=’z’,则执行下面语句后变量ch是值为:( )。ch=(‘A’<=ch&&ch<=‘Z’)(ch+32):ch

( )6.若x和y都为float型变量,且x=, y= 执行下列语句后输出结果为:( )。

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

D.输出符号不够,输出不正确值

( )7.设有两字符串“Beijing”、“China”分别存放在字符数组str1[10],str2[10]中,下面语句中能把“China”连接到“Beijing”之后的为:( )。

(str1,str2); (str1, “China”);

(str1,“China”);(“Beijing”,str2);

( )8.以下对一维整型数组a的正确说明是( )。

a(10); n=10,a[n];

n; scanf(“%d”,&n); int a[n];

D.#define SIZE 10 int a[SIZE];

( )9.设有如下程序段,则其执行结果为:( )。

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

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

[3]地址 D.不正确的值

( )10、若二维数组a有m列,则a[I][j]元素前的数组元素个数为:( )。

*m+i *m+j *m+j-7 *m+j+1

( )11、C语言中变量的指针指的是:( )。

A.变量类型

B.变量值

C.变量值

D.变量地址

( )12、下面有关for循环的正确描述是( )。

循环只能用于循环次数已经确定的情况

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

C.在for循环中,不能用break语句跳出循环体

循环的循环体语句中,可以包含多条语句,但必须用花括号括起来

( )13、C语言规定: 在一个源程序中, main函数的位置( )。

A.必须在最开始

B.必须在系统调用的库函数的后面

C.可以在任意位置

D.必须在源文件的最后

( )14、在C语言程序中,若未在函数定义时说明函数类型,则函数默认的类型为:( )。

( )15、在说明一个结构体变量时系统分配给它的存储空间是( )。

A.该结构体中第一个成员所需存储空间

B.该结构体中最后一个成员所需存储空间

C.该结构体中占用最大存储空间的成员所需存储空间

D.该结构体中所有成员所需存储空间的总和

( )1、下列字符串是标识符的是( )。

A._HJ B.9_student C.long D.LINE 1

( )2、下列说法正确的是( )。

A.main函数必须放在C程序的开头B.main函数必须放在C程序的最后C.main函数可以放在C程序的中间部分,但在执行C程序时是从程序开头执行的

D.main函数可以放在C程序的中间部分,但在执行C程序时是从main函数开始的

( )3、C语言中不能用来表示整常数的进制是( )。

A.十进制B.十六进制C.八进制D.二进制

( )4、设d为字符变量,下列表达式正确的是( )。

A.d=678 B.d=’a’C.d=”d”D.d=’gjkl’

( )5、判断字符型变量ch为大写字母的表达式是( )。

A.’A’<=ch<=’Z’ B.(ch>=’A’)&(ch<=’Z’)

C.(ch>=’A’)&&(ch<=’Z’)D.(ch>=’A’)AND(ch<=’Z’)

( )6、C语言中,要求运算对象必须是整型的运算符是:( )。

A.> B.++ C.% D.!=

( )7、写出下面程序的执行结果( )。

main()

{int x=1,y=1,z=0;

if(z<0)

if(y>0) x=3;

else x=5;

printf("%d\t",x); }

A.1 B.3 C.5 D.7

( )8、若i,j已定义为int型,则以下程序段中循环体的总的执行次数是( )。

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

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

{ }

A.20 B.24 C.25 D.30

( )9、下面程序的输出结果是:( )。

int m=2;

int fun( int x, int y)

{ int m=3;

return( x*y-m); }

main( )

{ int a=3,b=5;

printf(“%d\n”, fun(a,b)/m); }

A.1 B.2 C.6 D.10

( )10、以下能对二维数组a进行正确说明和初始化的语句是:( )。

A.int a( )(3)={ ( 1, 0, 1 ), ( 2, 4, 5 ) };

B.int a[2][]={ { 3, 2, 1 }, { 5, 6, 7 } };

C.int a[][3]={ { 3, 2, 1 }, { 5, 6, 7 } };

D.int a(2)( )={ ( 1, 0, 1 ), ( 2, 4, 5 ) };

( )11、设有char str[10],下列语句正确的是( )。

A.scanf("%s",&str); B.printf("%c",str);

C.printf("%s",str[0]); D.printf("%s",str);

( )12、执行以下程序段后,a的值是( )。

int a[]={5,3,7,2,1,5,4,10};

int s=0;k;

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

s+=a[k];

A.8 B.15 C.17 D.18

( )13、变量的指针,其含义是指该变量的( )。

A.值B.地址C.名D.一个标志

( )14、以下对一维整型数组a的初始化正确的是( )。

A.int a(4)={1,2,3,5}; B.int a[4]={1,2,3,4,6,7};

C.int a[4]={1 4 6 8}; D.int a[4]={1, 4 ,6 ,8}

( )15、若有以下说明和语句:

struct worker

{ int no; char ﹡name; }work, ﹡p=&work;

则以下引用方式不正确的是( )。

A.work.no B.(﹡p).no C.p->no D.work->no

二、判断题()

(√)1、在C语言程序中,AHP和ahp分别代表两个不同的标识符。(√)2、C程序有三种结构化程序设计方法,分别顺序结构、选择结构和循环结构。

(╳)3、在if语句中,if子句与else子句都可以单独使用,构成了if语句的两种缺省形式。

(╳)4、for语句作为循环控制语句时,其括号内各个表达式及其后的分号都可缺省。

(╳)5、数组在定义时没有必要指定数组的长度,其长度可以在程序中根据元素个数再决定。

(╳)6、C语言中while和do-while循环的主要区别是while语句的循环体至少会被执行一次,而do-while语句的循环体则可能一次也不执行。

(√)7、数组首地址不仅能通过数组中第一个元素的地址表示,也可以通过数组名来表示。

(╳)8、在C语言中,只有在两个字符串所包含的字符个数相同时,才能比较大小。如字符串“That”与“The”就不能进行大小比较。

(╳)9、函数的返回值类型是由函数的类型和return语句中表达式的类型共同决定的,当这两类型不一致时最终起决定作用的是return中表达式的类型。(√)10、文件按数据存储形式分为文本文件和二进制文件。

(√)1、在C语言程序中,happy是正确的标识符。

(╳)2、在C语言的if语句中,else可以单独出现。

(√)3、在C程序中一行内可以写几个语句,一个语句可以分写在多行上。但每一条C语句都必须有一个分号的。

(√)4、在C语言的if语句中,用作条件判断的表达式可以是C语言中任意合法的表达式。

(╳)5、在C语言中,函数strcpy是用来连接字符串的。

(√)6、for语句作为循环控制语句时,三个表达式可以省略其中的一个、两个或三个,但分号不可少。

(√)7、数组名也可作为函数参数使用,此时是地址传递。

(╳)8、C程序有三种结构化程序设计方法,分别嵌套结构、选择结构和循环结构。

(╳)9、数组在定义时没有必要指定数组的长度,其长度可以在程序中根据元素个数再决定。

(√)10、C程序的三种结构化程序设计方法分别顺序结构、选择结构和循环结构。

(╳)1、C程序可以由若干个源文件组成,因此最小的功能单位是源文件,

最小编译单位的是函数。

(√)2、C语言的三种基本数据类型为整型、实型、字符型。

(╳)3、在if语句中,if子句与else子句都可以单独使用,构成了if语句的两种缺省形式。

(╳)4、for语句作为循环控制语句时,其括号内各个表达式及其后的分号都可缺省。

(√)5、C程序中函数不可以嵌套定义但可以嵌套调用。

(√)6、数组名也可作为函数参数使用,此时数组名代表数组的起始地址。(√)7、在函数内的复合语句中定义的变量在本复合语句内有效。

(√)8、打开文件所用的函数为fopen函数。

(╳)9、逗号运算符的优先级比赋值运算符高。

(╳)10、链表中的各节点在内存中占连续的存储空间依次存放。

( √)1、表达式25+’a’+*’c’执行后输出结果是双精度类型的数据。

(√)2、.一个C文件中可以包含多个函数,但必须有且仅有一个main函数,程序总是从main函数开始执行。

( √) 3、main( ){ char s[ ]="abcdef"; printf("%s\n",s); }程序的输出结果是abcdef。

( √) 4、一个函数缺省了类型定义,则系统默认该函数的类型为int。

( ╳)5、-max是合法的用户标识符。

三、程序填空题(

1、以下程序可求出所有水仙花数(指3位正整数中各位数字立方和等于该数本身,如153=13+53+33),请填空。

main( )

{ int x, y ,z, a[10], m, i=0;

printf(“shui xian huan shu :\n”);

for( m=100;m<1000;m++)

{ x=m/100;

y= m/10%10 ;

z=m%10;

if(m==x*x*x+y*y*y*y+z*z*z)

{ a[i]=m ; i ++; } }

for( x=0;x

printf(“%6d”,a[x] ) ; }

2、以下程序的功能是:从键盘上输入若干个学生的成绩保存到数组a中,输出最高成绩和最低成绩,请填空。

main()

{int a[10,k,amax,amin;

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

scanf(“%d”,&a[k]);

amax=a[0];amin=a[0];

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

{if(a[k]>amax) a[k]=amax;

if ( a[k]

printf("amax=%d \n amin=%d\n",amax,amin); }

1、以下函数返回a所指数组中最大值

int fun(int*a,intn)

{inti,j=0,max;

max=a[0];

for(i=j;i

if(a[i]>max)___max=a[i]______;

return(max); }

2、下面程序是求出数组arr的主对角线上元素之和a,请填空。

#include ""

main()

{ int arr[3][3]={2,3,4,8,3,2,7,9,8},a=0 ,i;

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

a=a+_______arr[i][i]____;

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

3、下列程序的功能是:求出ss所指字符串中全部字符的个数,并返回此值。例如,若输入字符串2,,则输出9,请填空。

intfun(char*ss)

{intn=0;

for(;*ss!=’\0’;ss++)n++;

return____n___;}

4、以下程序是输出从2000——3000所有的闰年

main{ int year;

for(year=2000;___year<3000_;year++)

if(yea%4==0&&year%1001=0||year%400==0) printf(“%5d”,year);}

5把两个数交换后输出,请填空

main()

{ int a=3,b=5,t;

printf(“%d,%d”,a,b);

t=a; ___a=b_________; b=t;

printf(“%d,%d”,a,b);

}

1、输入一个字符,如果是大写字母,则把其变成小写字母;如果是小写字母,则变成大写字母;其它字符不变。请填空:

main( )

{ char ch;

scanf(“%c”,&ch);

if ( ch>’A’&&ch<‘Z’) ch=ch+32;

else if(ch>’a’&&ch<‘z’) (ch=ch-32; );

printf(”%c\n”,ch);

}

2、打印以下杨辉三角形.(要求打印出10行)

main( )

{ int a[10][10],i, j ; 1

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

{ a[i][0]=1; a[i][i]=1; } 1 2 1

for( i=2; i<10; i++ ) - 1 3 3 1

for(j=1; j

a[i][j] = a[i-1][j]+a[i-1][j-1]; ; ………

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

{ for( j=1; j<=i; j++)

printf(“%5d”,a[i][j]);

printf(“\n”);}

}

3、以下程序使用递归法求n!,请填空:

float fac( int n)

{ float f;

if(n==0||n==1) f=1;

else f= n*fac(n-1) ;

return( f );

}

main( )

{ int n; float y;

scanf(“%d”,&n);

y= fac(n) ;

printf(“%d! = %f”, n, y );}

1统计数组中小于0的各元素之和。

#include<>

main() { int a[10]={10,1,-20,-2,11,-203,78,-90,20,54},sum=0,i;

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

if( a[i]<0 ____ ) sum= sum+a[i] ___-;

printf(“sum=%5d\n”,sum);

2、功能:输入三个整数x,y,z,请把这三个数由小到大输出。

#include <>

main(){ int x,y,z,t;

scanf("%d%d%d",&x,&y,&z);

if (x>y){__t=x;x=y;y=t;________________ ___}

if(x>z){ t=x; x=z; z=t; }

if(y>z){__t=y;y=z;z=t;_____________________}

printf("small to big: %d %d %d\n",x,y,z); }

3、二维数组,将下三角元素(包括对角线)加1。

main() {int a[4][4]={{1,2,3,4},{5,6,7,8},{4,3,2,1},{1,2,3,4}},i,j,t;

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

for(j=0;__j<=i_______;j++)

______a[i][j]=a[i][j]+1;_________________;

4、现已经建立以head 为头指针的链表。现要求输出链表中各节点的num值。void print (struct student *head)

{ struct student *p; p=head;

if(head!=NULL)

do {pritf(“%d,%f”,p->num,p->sc); __p=p->next___;}while( _p!=NULL__);}

5、把字符串中的小写字符换成对应的大写字符,其他字符不变。

void fun(char *p)

{ while(___*p____) { if(_*p>=’a’&&*p<=’z’__) *p=*p-32;p++; }}

1、结构化程序设计,我们一共讲了三种基本结构,分别问为顺序结构,选择结构、_循环结构_______。

2、以下程序的输出结果是_16_______。

main(){int a=0;a+=(a=8);

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

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

___ 0_____

main ( ) {int x=2;

while (x--)

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

4、有以下语句段

int n1=10,n2=20;

printf(“_n1=%d,n2=%d_ ”,n1,n2);

要求按以下格式输出n1和n2的值,每个输出行从第一列开始,请填空

n1=10,n2=20

5、有定义int d[2][3]={1,2,3,4,5,6};执行语句printf(“%d”,*(*(a+1)+2);结果是__6_ 1、若有声明"int a=6,b=2;",则表达式"b=(a+b)/2"运算后b的值为_____4__________ 。

2、若有声明"char s[l0]="remind";",执行"puts(s);"后的输出结果是________ remind _________

3、设有以下定义和语句,。

inta[]={10,20,30,40,50,60};则a[0]及*(a+3)的值为___10____,___40___ 4、以下程序的输出结果是__3,2________ 。

main ()

{int i=2,j=2,m,n;m=++i; n=j++;

pirntf ("%d,%d\n",m,n);

5、若变量x为实型类型,能正确判断出|x|<4的表达式是__x<4&&x>-4____

6、程序的输出结果是____18______

intfun(intx)

{printf("x=%d\n",++x); }

main()

{fun(12+5); }

7、以下程序段的输出结果是__5________ 。

int x=17,y=26;

printf ("%d",y/=(x%=6))

8、以下定义的结构体类型拟包含两个成员,其中成员变量info用来存入整形数据;成员变量link是指向自身结构体的指针,请将定义补充完整。

struct node

{ int info;

_ struct node *____link; }

9、c har a[20],b[20]=”abcd”;strcpy(a,b); puts(a);输出结果为__abcd__

10、一个函数缺省了类型定义,则系统默认为该函数的类型是___int_____

1、结构化程序有三种基本结构,分别是顺序结构、选择结构、循环结构。

2、C语言中最简单的数据类型包括整型、实型和字符型。

3、以下程序的输出结果是a=1,b=2 。

int a=1,b=2;

printf(“a=%d,b=%d”,a,b);

4、.若int a=5,b=2;则表达式(a+b)/2运算后的值为 3 。

5、以下程序的输出结果是 2 。

int k=11;

printf(”%d\n”,k%3);

6、以下程序运行后x的值为12 。

int x=6;

x+=x;

7、下面程序运行的结果是 5 。

int x=3;

main( )

{int x=5;

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

8、以下程序运行后输出结果是20 。

#define S(x) 5* x * x

main( )

{ int a=2; printf("%d\n",S(a)); }

9、以下程序运行后输出结果是 4 。

#include <>

#include<>

main( )

{ char a[ ]="abcd";

printf("%d \n",strlen(a)); }

10、以下程序的输出结果是22 。

main( )

{ int a=22,*p;

p=&a;

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

1、在C语言中,程序运行期间,其值不能被改变的量叫变量

2、逗号表达式的形式如下:

表达式1,表达式2

则逗号表达式的结果是表达式2的值.

2、int a=3,b=5;输出

a=3

b=5

则把输出函数填完整printf( “a=%d\nb=%d”,a,b );

4、定义如下变量: 则循环的输出结果是9 8 7。

int n=10; while (n>7){ n--; printf(“%d”,n); }

5、结构化程序有三种基本结构,分别为顺序结构、___选择结构_ 、循环结构

四、写出下面程序的执行结果()

1 、现有如下程序,若从键盘输入58,则以下程序输出的结果是___78________ 。main()

{int a;

scanf("%d",&a);

if(a>100)printf("%d",a+5);

else if(a>80)printf("%d",a+10);

else if(a>60)printf("%d",a+150);

else printf("%d",a+20);}

2、有以下程序, 程序运行后的输出结果是_12________

intf()

{static a; a=a+2; return a); }

main()

{inti,j=0;

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

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

3、有如下程序,输出结果为____32_____

#include""

main()

{inta[5]={10,20,30,40,60},i,s=0;

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

s=s+a[i]/5;

printf(“%d”,s);}

1、以下程序运行后的输出结果是____8___________。

#define f (X) X*X

main(){int i:i= f(2+2);printf("%d\n",i);}

2、以下程序的输出结果是_____30____。

int f()

{static int a=0;

return a=a+2; }

main(){int i,s=0;

for(i=1;i<=5;i++) s+=f();

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

3、有以下程序输出结果是___10,20,30______:

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”,x,y,z); }

4、以下程序的输出结果是__6____ 。

f(int b[])

{ int i,s=0;

for(i=0;i<3;i++) s=s+b[i];

return s;}

main(){int x,a[]={1,2,3,4,5,6,7,8,9};x=f(a);

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

5、以下程序的输出结果是___25___。

main() { int b[3][3]={ 1,2,3,4,5,6,7,8,9},j,t=10;

for(j=0;j<3;j++) t=t+b[j][j]];

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

6、以下程序的输出结果是___13___。

main(){ int a=0,i;

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

switch(i)

{case 0:case 3:a+=2:break;

case l:case 2:a+=3:break;

default:a+=5;}

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

1、程序执行后,输出结果为9,11,9,10

main()

{int i,j,m,n;

i=8;j=10;

m=++i;n=j++;

printf("%d,%d,%d,%d",i,j,m,n);

}

2、设有以下程序,程序运行后,如果从键盘上输入1298,则输出结果为

8 9 2 1

main()

{int n1,n2;

scanf("%d",&n2);

while(n2!=0)

{ n1=n2%10;

n2=n2/10;

printf("%3d",n1); }

}

3、程序执行后,输出结果为#&*

main( )

{ int i;

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

switch(i%5)

{ case 0: printf(“*”) ; break;

case 1: printf(“#”) ; break;

case 2: print f(“&”); }

}

4、程序执行后,输出结果为120

main( )

{ int i=5 ;

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

sub( int n)

{ int a;

if(n==1) a=1;

else a= n*sub(n-1);

return(a); }

5、程序执行后,输出结果为6 5 4 3 2 1 .# include <>

main ( )

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

for (p=&a[5];p>=a;p--)

printf(“%3d”, ﹡p);

printf(“\n”); ABCDE

} BCDE

6、程序执行后,输出结果为CDE

#include “”

main()

{ char st[ ]=”ABCDE”,*p;

for(p=st ; p

puts(p) ;}

1、程序执行的结果为_______15_______

main()

{int s,i;

for(s=0,i=1;i<=5;i++)

s+=i;

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

}

2、程序执行的结果为_______-1_______

main( )

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

c = a ;

if ( a>b ) c = 1 ;

else if ( a == b ) c = 0 ;

else c = -1 ;

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

}

3、程序执行的结果为_____6__ _______

# include <>

main ( )

{ int a[ ]={1,2,4,6,3,5},max,i;

max=a[0];

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

if(max

printf(〞%d〞,max);} 11

4、程序执行的结果为_____12________

.#include <>

void increment( );

void main(void)

{ increment();

increment();

}

void increment(void)

{

static int x = 10;

x ++;

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

}

5、下面程序的运行结果是:12 。main()

{ int a[]={2,4,6,8,10};

int y=1,x,*p;

p=&a[0];

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

y+=*(p+x);

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

}

6、下面程序的运行结果是:cdefg

# include <>

main ( )

2019年电大C语言考试题库(c语言小题+编程)

C语言程序设计课程期末复习练习 一、单选题 1.在每个C语言程序中都必须包含有这样一个函数,该函数的函数名为( )。 A. main B. MAIN C. name D. function 2.每个C语言程序文件的编译错误分为()类。 A. 1 B. 2 C. 3 D. 4 3. 字符串"a+b=12\n"的长度为()。 A. 6 B. 7 C. 8 D. 9 4. 在switch语句的每个case块中,假定都是以break语句结束的,则此switch语句容易被改写为()语句。 A. for B. if C. do D. while 5. 在下面的do-while循环语句中,其循环体语句被执行的次数为()。 int i=0; do i++; while(i<10); A. 4 B. 3 C. 5 D. 10 6. 将两个字符串连接起来组成一个字符串时,选用的函数为()。 A. strlen() B. strcap() C. strcat() D. strcmp() 7. 若用数组名作为函数调用的实参,传递给形参的是()。 A. 数组的首地址 B. 数组中第一个元素的值 C. 数组中全部元素的值 D. 数组元素的个数 8. 假定a为一个整数类型的数组名,整数类型的长度为4,则元素a[4]的地址比a数组的首地址大( )个字节。 A. 4 B. 8 C. 16 D. 32 9. 假定s被定义为指针类型char *的变量,初始指向的字符串为"Hello world!",若要使变量p指向s所指向的字符串,则p应定义为()。 A. char *p=s; B. char *p=&s; C. char *p;p=*s; D. char *p; p=&s; 10. 从一个数据文件中读入以换行符结束的一行字符串的函数为()。 A. gets() B. fgets() C. getc() D. fgetc() 11. 由C语言目标文件连接而成的可执行文件的缺省扩展名为( )。 A. cpp B. exe C. obj D. c 12. 设有两条语句为“int a=12; a+=a*a;”,则执行结束后,a的值为( )。 A. 12 B. 144 C. 156 D. 288 13. 带有随机函数调用的表达式rand()%20的值在( )区间内。 A. 1~19 B. 1~20 C. 0~19 D. 0~20 14. for循环语句“for(i=0; i

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 。

大学C语言考试试题

C语言模拟试题 一、判断 1、关系运算符<= =与= =的优先级相同。(N ) 2、C语言的函数可以嵌套定义。(N ) 3、若有定义和语句: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 ) 4、变量根据其作用域的范围可以分作局部变量和全局变量。( Y ) 5、#define和printf都不是C语句。( Y ) 6、Int I,*p=&I;是正确的C说明。( Y ) 7、结构体类型只有一种。( N ) 8、在Turbo C中,整形数据在内存中占2个字节。( N ) 9、一个include命令可以指定多个被包含的文件。( N ) 10、有如下说明:int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;则数值为9的表达式是*(p+8).( Y ) 二、选择 2、C语言中,char类型数据占(A) A、1个字节 B、2个字节 C、4个字节 D、8个字节 3、已知x=43,ch=?A?,y=o;则表达式(x>=y&&ch1;i--) for(j=1;j

大学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语言考试题库及答案复习整理

C 语言理论上机考试选择题部分(共200题) 1、下面程序的输出是___D______ #include void main() { int k=11; printf("k=%d,k=%o,k=%x\n",k,k,k); } A) k=11,k=12,k=11 B) k=11,k=13,k=13 C) k=11,k=013,k=0xb D) k=11,k=13,k=b 2、在下列选项中,不正确的赋值语句是__D______. A) ++t; B) n1=(n2=(n3=0)); C) k=i=j; D) a=b+c=1; 3、下面合法的C 语言字符常量是______A____. A) '\t' B) "A" C) 65 D) A 4、表达式: 10!=9的值是 ________D____. A) true B) 非零值 C) 0 D) 1 5、C 语言提供的合法的数据类型关键字是_____B____. A) Double B) short C) integer D) Char 6、字符(char)型数据在微机内存中的存储形式是__D__. A) 反码 B) 补码 C) EBCDIC 码 D) ASCII 码 7、C 语言程序的基本单位是_____C______. A) 程序行 B) 语句 C) 函数 D) 字符 8、设 int a=12,则执行完语句

a+=a-=a*a 后,a 的值是____D____ A) 552 B) 264 C) 144 D) -264 9、执行下面程序中的输出语句后,输出结果是____B__. #include void main() {int a; printf("%d\n",(a=3*5,a*4,a+5)); } A) 65 B) 20 C) 15 D) 10 10、下面程序的输出是____B______. #include void main() {int x=023; printf("%d\n",--x); } A) 17 B) 18 C) 23 D) 24 11、下面程序的输出的是_____C____. #include void main() {int x=10,y=3; printf("%d\n",y=x/y); } A) 0 B) 1 C) 3 D) 不确定的值 12、已知字母A 的ASCII 码为十进制的65,下面程序的输出是______A_____. #include void main() {char ch1,ch2; ch1='A'+'5'-'3'; ch2='A'+'6'-'3'; printf("%d,%c\n",ch1,ch2); } A) 67,D B) B,C C) C,D D) 不确定的值 13、若要求在if 后一对圆括号中表示a 不等于0的关系,则能正确表示这一关系的表达式为____D__. A) a<>0 B) !a C) a=0 D) a

大学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语言考试题及答案

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

{intn; staticchar*monthName[]= {"Illegalmonth","January","February", "March","April","May","June","July","August", "September","October","November","December"}; for(n=1;n<=12;n++) { printf("%s\n",monthName[n]); } } 运行结果是: January February March April May June July August September October November December 2.#include #defineARR_SIZE7 voidYH(inta[][ARR_SIZE],intn); voidPrintYH(inta[][ARR_SIZE],intn); main() {inta[ARR_SIZE][ARR_SIZE];

(完整版)C语言考试题库之判断题(2)

三、判断题(10道小题,共10分) 1、C 语言具有简洁明了的特点。(1分) 正确 2、预处理命令的前面必须加一个“#”号。(1分) 正确 3、标准格式输入函数scanf()可以从键盘上接收不同数据类型的数据项。(1分) 正确 4、在if语句的三种形式中,如果要想在满足条件时执行一组(多个)语句,则必须把这一组语句用{}括起来组成一个复合语句。(1 分) 正确 5、continue 不是结束本次循环,而是终止整个循环的执行。(1分) 错误 6、在对数组全部元素赋初值时,不可以省略行数,但能省略列数(1分) 错误 7、.函数的实参传递到形参有两种方式值传递和地址传递(1分) 正确 8、直接访问就是直接利用变量的地址进行存取直接访问(1分) 正确 9、共用体变量可以作结构体的成员,结构体变量也可以作共用体的成员。(1分) 正确 10、文件指针和位置指针都是随着文件的读写操作在不断改变。(1分) 错误 11、C 语言标准格式输入函数scanf() 的参数表中要使用变量的地址值。(1分) 正确 12、浮点型常量的指数表示中,e 是可以省略的。(1分) 错误 13、任何表达式语句都是表达式加分号组成的。(1分) 正确 14、在switch语句中,每一个的case常量表达式的值可以相同。(1分) 错误 15、do-while循环的while后的分号可以省略。(1分) 错误 16、用字符串方式赋值比用字符逐个赋值要多占一个字节,用于存放字符串结束标志'\0'。正确 17、C语言函数返回类型的默认定义类型是void(1分) 错误 18、可以用一个指针变量指向一个函数,然后通过该指针变量调用此函数(1分) 正确 19、枚举类型中的元素都具有一个整型值。(1分) 正确 20、C 语言是一种具有某些低级语言特征的高级语言。(1分) 正确 21、case语句后如没有break,顺序向下执行。(1分)正确

C语言程序设计程序填空题库及答案

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

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

c语言期中考试试题及答案

《C语言程序设计》期中考试试卷 课程编号:03402513试卷类型:A卷考试形式:笔试考试日期: 注意事项:1.请将试卷最后一页的答题纸撕下,将答案填写在其中;2.交卷时请确认答题纸是否按要求写好姓名等信息并与试题一起上交;3.不准携带任何书籍、资料、纸张等。4.草稿纸用试卷的背面。 一、单项选择题(1空1分,共20分) 1、C语言程序的基本结构是(【1】) 。 【1】 A) 函数 B) 语句 C) 字符 D) 程序行 2、一个C程序的执行是(【2】) 。 【2】A) 从本程序的主函数开始,到本程序的主函数结束 B)从本程序的第一个函数开始,到本程序的最后一个函数结束 C) 从本程序的主函数开始,到本程序的最后一个函数结束 D)从本程序的第一个函数开始,到本程序的主函数结束 3、下列四个叙述中,错误的是(【3】) 。 【3】 A) 一个C源程序必须有且只能有一个主函数 B) 一个C源程序可以含一个或多个子函数 C) 在C源程序中注释说明必须位于语句之后 D) C源程序的基本结构是函数 4、下面不属于C语言保留字的是(【4】) 。 【4】 A) short B) ELSE C) extern D) for 5、下列四个叙述中,正确的是(【5】) 。 【5】 A) 库函数也是C语言本身的组成部分 B) C语言中的输入输出操作是由相应语句完成的 C) 库函数是C编译系统提供的功能函数 D) 标题文件(头文件)可以在程序的函数内部调用 6、下列四组数据类型中,C语言允许的一组是(【6】)。 【6】 A) 整型、实型、逻辑型 B) 整型、实型、字符型 C) 整型、双精度型、布尔型 D) 整型、实型、复型 7、在C语言中不同数据类型的的长度是(【7】)。 【7】 A) 固定的 B) 由用户自己定义的 C) 任意的 D) 与机器字长有关

(完整版)C语言试题及答案解析

C语言 一、选择题(第题2分,共20分) 1.一个C程序的执行是从 A 。 A) 本程序的main函数开始,到main函数结束 B) 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C) 本程序文件的第一个函数开始,到本程序main函数结束 D) 本程序的main函数开始,到本程序文件的最后一个函数结束 2.若x、i、j、k都是int型变量,则计算下面表达式后,x的值为 C 。 x=(i=4,j=16,k=32) A) 4 B) 16 C) 32 D) 52 3.设C语言中,一个int型数据在内存中占2个字节,则unsigned int 型数据的取值范围为 C 。 A) 0~255 B) 0~32767 C) 0~65535 D) 0~2147483647 4.设有说明:char w; int x; float y; double z;则表达式w*x+z-y值的数据类型为 D 。 A) float B) char C) int D) double 5. putchar函数可以向终端输出一个 D 。 A) 整型变量表达式 B) 实型变量值 C) 字符串 D) 字符或字符型变量值 6. printf函数中用到格式符%5s,其中数字5表示输出的字符串占用5列。如果字符串长度大于5,则输出按方式 B ;如果字符串长度小于5,则输出按方式 C 。 A) 从左起输出该字符串,右补空格 B) 按原字符长从左向右全部输出 C) 右对齐输出该字符串,左补空格 D) 输出错误信息 7.判断char型变量ch是否为大写字母的正确表达式是 C 。 A) ‘A’<=ch<=‘Z’ B) (ch>=‘A’)&(ch<=‘Z’) C) (ch>=‘A’)&&(ch<=‘Z’) D) (‘A’<= ch)AND(‘Z’>= ch) 8.已知int x=10,y=20,z=30;以下语句执行后x,y,z的值是 B 。 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 9.以下程序段______C__. x=-1; do{ x=x*x; } while(!x); A)是死循环 B)循环执行二次 C)循环执行一次 D)有语法错误 10.以下正确的描述是___B____. A)continue语句的作用是结束整个循环的执行

C语言试题库(完整版)

C语言试题库 一、单项选择 第一章 C语言概述 (1)一个C程序的执行是从 A、本程序的MAIN函数开始,到MAIN 函数结束。 B、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束。 C、本程序的MAIN函数开始,到本程序的最后一个函数结束。 D、本程序文件的第一个函数开始,到本程序的MAIN函数结束。(2)以下叙述正确的是 A、在C程序中,MAIN函数必须位于程序的最前面。 B、 C程序的每行中只能写一条语句。 C、 C语言本身没有输入输出语句。 D、在对一个C程序进行编译的过程中,可发现注释中的拼写错误。(3) C语言规定,在一个源程序中,MAIN主函数的位置是在: A、必须在最前面。 B、必须在系统调用的库函数的后面 C、可以在任意位置。

D、必须在最后面 (4)一个C程序是由: A、一个主程序和若干子程序组成 B、函数组成 C、若干过程组成 D、若干子程序组成 (5)以下叙述不正确的是: A、一个C源程序可由一个或多个函数组成 B、一个C源程序必须包含一个MAIN函数 C、 C程序的基本组成单位是函数 D、在C程序中,注释说明只能位于一条语句的后面 第二章数据类型、运算符与表达式 (1)若x, i, j, k都是int型变量,则计算下面表达式后,x的值为x=( i=4, j=16, k=32) A、4 B、16 C、32

D、52 (2)下列四组选项中,均不是C语言键字的选项是 A、define , IF, type B、getc, char, printf C、include, scanf, case E、 if, struct, type (3)下面四个选项中,均是不合法的用户标识符的选项是A、A,P_0,do B、float,1a0, _A C、b-a, goto, int D、_123, temp, INT (4)若有代数式3ae/bc,则正确的C语言表达式是A、a/b/c*e*3 B、3*a*e/bc C、3*a*e/b*c D、a*e/c/b*3 (5)已知各变量的类型说明如下:

大学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 。

大一c语言考试试题

一、单项选择题(每小题2分,共50分) 1、一个C程序的执行是从___A__。 A、本程序的main函数开始,到main函数结束 B、本程序的main函数开始,到本程序文件的最后一个函数结束 C、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 D、本程序文件的第一个函数开始,到本程序main函数结束 2、C语言程序的基本单位是___C___。 A、程序行 B、语句 C、函数 D、字符 3、请选出可用作C语言用户标识符的一组标识符___B___。 A、void B、a3_b3 C、For D、2a define_123-abcDO WORDIFasesizeof 4、假定x和y为double型,则表达式(x=2,y=x+5/2)的值是__C__。 A、、4 C、、 5、下列可以正确表示字符型常量的是___D__。 A、297 B、"a" C、"\n" D、'\t' 6、在C语言中,要求运算数必须是整型的运算符是__D__。 A、/ B、++ C、*= D、% 7、C语言中,复合语句的构成是将一系列语句置于__C__。 A、begin与end之间 B、方框号“[]”之间 C、花括号“{}”之间 D、圆括号“()”之间 8、有如下程序段,对应正确的数据输入是___A___。 floatx,y; scanf(”%f%f”,&x,&y); printf(”a=%f,b=%f”,x,y); A、<回车> B、,<回车> <回车> C、A=,B=<回车> D、回车> 9、以下程序段的输出结果是___D__。 inta=5678; printf(”%2d\n”,a); A、提示出错、无结果 B、56 C、78 D、5678 10、已知:charch='A';则下列表达式的值是__B__。 ch=(ch>='A'&&ch<='Z')?(ch+32):ch; A、A B、a C、Z D、z

(完整版)c语言期末考试题及其答案

选择题(7分,每小题0.5分) 1.C语言源程序的基本单位是()。 A 过程 B 函数 C 子程序 D 标识符 2.下列程序的输出结果是()。 main( ) { int a=7,b=5; printf("%d\n",b=b/a); } A 5 B 1 C 0 D不确定值 3.假设变量a,b均为整型,表达式(a=5,b=2,a>b?a++:b++,a+b)的值是()。 A 7 B 8 C 9 D 2 4.设a为int型变量,执行下列赋值语句后,a的取值分别是()。 a=125.534; a=(int)125.521%4; a=5<<2; A 125,31,1 B 125,1,20 C 125,31,20 D 125.534,2,20 5.设有如下程序段,下面描述中正确的是()。 int k=10; while(k=0) k=k-1; A 循环执行一次B循环是无限循环C循环体语句一次也不执行D循环体语句执行一次 6.以下程序的输出结果为()。 int i; void prt( ) { for(i=5;i<8;i++) printf("%c",'*'); printf("\t"); } main( ) { for(i=5;i<=8;i++) prt( ); } A *** B *** *** *** *** C *** *** D * * * 7.在C语言程序中,以下说法正确的是()。 A函数的定义可以嵌套,但函数的调用不可以嵌套 B函数的定义不可以嵌套,但函数的调用可以嵌套

C函数的定义和函数的调用都不可以嵌套 D函数的定义和函数的调用都可以嵌套 8.以下函数调用语句中含有()个实参。 func((e1,e2),(e3,e4,e5)); A 2 B 3 C 5 D 语法错误 9.以下程序的输出结果为()。 #define ADD(x) x*x main( ) { int a=4,b=6,c=7,d=ADD(a+b)*c; printf("d=%d",d); } A d=70 B d=80 C d=140 D d=700 10.已知职工记录描述如下,在Turbo C中,系统为变量w分配()字节的空间。 struct worker { int no; char name[20]; char sex; union { int day; int month; int year;}birth; } w; A 29 B 20 C 25 D 6 11.设有以下定义,值为5的枚举常量是()。 enum week{sun,mon=4,tue,wed,thu,fri,sat} w; A tue B sat C fri D thu 12.下面选项中正确的赋值语句是(设char a[5],*p=a;)()。 A p="abcd"; B a="abcd"; C *p="abcd"; D *a="abcd"; 13.设有以下程序段,则值为6的表达式是()。 struct st { int n; struct st *next;}; static struct st a[3]={5,&a[1],7,&a[2],9,0 },*p; p=&a[0]; A p++->n B ++p->n C p->n++ D (*p).n++ 写出下列程序的运行结果(10分,每小题2分) 1.float average (float array[10]) { int i;

C语言函数题库及答案

C语言函数题库及答案 Company Document number:WTUT-WT88Y-W8BBGB-BWYTT-19998

第六部分函数 一、单项选择题 1.C语言中的函数返回值的类型是由(D)决定 A.return语句中的表达式B.调用函数的主调函数 C.调用函数时临时D.定义函数时所指定的函数类型 2.下面不正确的描述是(B)。 A.调用函数时,实参可以是表达式 B.调用函数时,实参和形参可以共用内存单元 C.调用函数时,将形参分配内存单元 D.调用函数时,实参与形参的类型必须一致 3.在C语言中,调用一个函数时,实参变量和形参变量之间的数据传递是 (D) A.地址传递B.值传递 C.由实参传递给形参,并由形参传回给实参D.由用户指定传递方式 4.下面的函数调用语句中含有(A)个实参 inta,b,c; intsum(intx1,intx2); …… total=sum((a,b),c); A.2B.3C.4 D.5 5.在C语言中(C) A.函数的定义可以嵌套,但函数的调用不可以嵌套

B.函数的定义和调用均不可以嵌套 C.函数的定义不可以嵌套,但是函数的调用可以嵌套 D.函数的定义和调用均可以嵌套 6.关于C语言中的return语句正确的是(C) A.只能在主函数中出现 B.在每个函数中都必须出现 C.可以在一个函数中出现多次 D.只能在除主函数之外的函数中出现 7.两个形参中,第一个形参为指针类型、第二个形参为整型,则对函数形参的说明有错误的是(D) (floatx[],intn) (float*x,intn) (floatx[10],intn) (floatx,intn) 8.在C语言中,函数的数据类型是指(A) A.函数返回值的数据类型 B.函数形参的数据类型 C.调用该函数时的实参的数据类型 D.任意指定的数据类型 9.已知如下定义的函数: fun1(a) {printf("\n%d",a); } 则该函数的数据类型是(C)

C语言考试题库之判断题[1]_共5页

三、判断题(10道小题,共10分) 1、c语言具有简洁明了的特点。 正确 2、预处理命令的前面必须加一个“#”号。正确 3、标准格式输入函数seanf()可以从键盘上接收不同数据类型的数据项。 正确 4、在if语句的三种形式中,如果要想在满足条件时执行一组(多个)语句,则必须把这一组语句用{} 括起来组成一个复合语句。 正确 5、continue不是结束本次循环,而是终止整个循环的执行。 错误 6、在对数组全部元素赋初值时,不可以省略行数,但能省略列数 错误 7、.函数的实参传递到形参有两种方式值传递和地址传递 正确 8、直接访问就是直接利用变量的地址进行存取直接访问 正确 9、共用体变量可以作结构体的成员,结构体变量也可以作共用体的成员。 正确 10、文件指针和位置指针都是随着文件的读写操作在不断改变。 错误 11、C语言标准格式输入函数scanfO的参数表中要使用变量的地址值。 正确 12、浮点型常量的指数表示中,6是可以省略的。 错误 13、任何表达式语句都是表达式加分号组成的。 正确 14、在switch语句中,每一个的case常量表达式的值可以相同。 错误 15、do-while循环的while后的分号可以省略。 错误 16、用字符串方式赋值比用字符逐个赋值要多占一个字节,用于存放字符串结束标志'\0'。 正确 17、C语言函数返回类型的默认定义类型是void( 错误 18、可以用一个指针变量指向一个函数,然后通过该指针变量调用此函数正确 19、枚举类型中的元素都具有一个整型值。 正确 20、C语言是一种具有某些低级语言特征的高级语言。 正确 21、c ase语句后如没有break,顺序向下执行。正确 22、d o-while循环至少要执行一次循环语句。正确

历年C语言考试题库及答案

C语言理论上机考试选择题部分(共200题,仅针对11级定向专业) 1、下面程序的输出是___D______ #include<> void main() { int k=11; printf("k=%d,k=%o,k=%x\n",k,k,k); } A) k=11,k=12,k=11 B) k=11,k=13,k=13 C) k=11,k=013,k=0xb D) k=11,k=13,k=b 2、在下列选项中,不正确的赋值语句是__D______. A) ++t; B) n1=(n2=(n3=0)); C) k=i=j; D) a=b+c=1; 3、下面合法的C语言字符常量是______A____. A) '\t' B) "A" C) 65 D) A 4、表达式: 10!=9的值是________D____. A) true B) 非零值 C) 0 D) 1 5、C语言提供的合法的数据类型关键字是_____B____. A) Double B) short C) integer D) Char 6、字符(char)型数据在微机内存中的存储形式是__D__. A) 反码 B) 补码 C) EBCDIC码 D) ASCII码 7、C语言程序的基本单位是_____C______.A) 程序行 B) 语句 C) 函数 D) 字符 8、设 int a=12,则执行完语句a+=a-=a*a后,a的值是____D____ A) 552 B) 264 C) 144 D) -264 9、执行下面程序中的输出语句后,输出结果是____B__. #include<> void main() {int a; printf("%d\n",(a=3*5,a*4,a+5)); } A) 65 B) 20 C) 15 D) 10 10、下面程序的输出是____B______. #include<> void main() {int x=023; printf("%d\n",--x); } A) 17 B) 18 C) 23 D) 24 11、下面程序的输出的是_____C____. #include<> void main() {int x=10,y=3; printf("%d\n",y=x/y); }

大学C语言期末考试习题集(带详解答案)

一、单项选择题 1.(A)是构成C语言程序的基本单位。 A、函数 B、过程 C、子程序 D、子例程 2.C语言程序从 C开始执行。 A) 程序中第一条可执行语句 B) 程序中第一个函数 C) 程序中的main函数 D) 包含文件中的第一个函数 3、以下说法中正确的是(C)。 A、C语言程序总是从第一个定义的函数开始执行 B、在C语言程序中,要调用的函数必须在main( )函数中定义 C、C语言程序总是从main( )函数开始执行 D、C语言程序中的main( )函数必须放在程序的开始部分 4.下列关于C语言的说法错误的是(B)。 A) C程序的工作过程是编辑、编译、连接、运行 B) C语言不区分大小写。 C) C程序的三种基本结构是顺序、选择、循环 D) C程序从main函数开始执行 5.下列正确的标识符是(C)。 A.-a1 B.a[i] C.a2_i D.int t 5~8题为相同类型题 考点:标识符的命名规则 (1)只能由字母、数字、下划线构成 (2)数字不能作为标识符的开头 (3)关键字不能作为标识符 选项A中的“-”,选项B中“[”与“]”不满足(1);选项D中的int为关键字,不满足(3) 6.下列C语言用户标识符中合法的是( B)。 A)3ax B)x C)case D)-e2 E)union 选项A中的标识符以数字开头不满足(2);选项C,E均为为关键字,不满足(3);选项D中的“-”不满足(1); 7.下列四组选项中,正确的C语言标识符是(C)。 A) %x B) a+b C) a123 D) 123 选项A中的“%”,选项B中“+”不满足(1);选项D中的标识符以数字开头不满足(2) 8、下列四组字符串中都可以用作C语言程序中的标识符的是(A)。 A、print _3d db8 aBc B、I\am one_half start$it 3pai

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