C语言上机题库(4)

2019-04-13 22:40

━━━━━━━━━━━━━━━ 一、判断 共10题 (共计20分) ━━━━━━━━━━━━━━━

第1题 (2.0分) 题号:1259

若定义int m[]={1,2,3,4,5};则m[1]的值为2. C语言中\运算符的运算对象必须是整型. 答案:Y

第8题 (2.0分) 题号:1109

两个字符串中的字符个数相同时才能进行字符( ).

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}}; 答案:D {float x=3.6; int i; i=(int)x;

printf(\}

A:x=3.600000,i=4 B:x=3,i=3 答案:Y

第2题 (2.0分) 题号:1275

如果定义一个函数时省略类型,则函数没有返回值. 答案:N

第3题 (2.0分) 题号:12 结构体类型只有一种。 答案:N

第4题 (2.0分) 题号:1241

在C语言的标识符中,大写字母和小写字母完全等价. 答案:N

第5题 (2.0分) 题号:1271

定义一种结构体类型后,则用该类型定义的所有变量占用内存的大小是相同的. 答案:Y

第6题 (2.0分) 题号:1269

若定义int a[4]={1,2,3,4};若超界引用a[4]则编译时不报错. 答案:Y

第7题 (2.0分) 题号:1096

串大小的比较 答案:N

第9题 (2.0分) 题号:1135 语句printf(\存在语法错误. 答案:N

第10题 (2.0分) 题号:32

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

━━━━━━━━━━━━━━━━━ 二、单项选择 共15题 (共计30分) ━━━━━━━━━━━━━━━━━

第1题 (2.0分) 题号:3114 C语言源程序名的后缀是 A:exe B:c C:obj D:cp 答案:B

第2题 (2.0分) 题号:184 以下不能正确定义二维数组的选项是

第3题 (2.0分) 题号:129 以下各标识符中,合法的用户标识符为( ). A:A#C B:mystery C:main D:ab* 答案:B

第4题 (2.0分) 题号:632 以下叙述正确的是()。

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

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

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

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

第5题 (2.0分) 题号:149 以下程序的输出结果是()。 main()

C:x=3.600000,i=3 D:x=3 i=3.600000 答案:C

第6题 (2.0分) 题号:172 在C语言程序中()。

A:函数的定义可以嵌套,但函数的调用不可以嵌套

B:函数的定义不可以嵌套,但函数的调用可以嵌套

C:函数的定义和函数调用均可以嵌套 D:函数的定义和函数调用不可以嵌套 答案:B

第7题 (2.0分) 题号:678

当调用函数时,实参是一个数组名,则向函数传送的是()。 A:数组的长度 B:数组的首地址 C:数组每一个元素的地址 D:数组每个元素中的值 答案:B

第8题 (2.0分) 题号:125

下列程序的输出结果是()。 main()

{int a=7,b=5; printf(\} A:0 B:5 C:1 D:不确定值 答案:A

第9题 (2.0分) 题号:187

经过下列的语句 int j,a[10],*p;定义后,下列语句中合法的是()。 A:p=p+2; B:p=a[5]; C:p=a[2]+2; D:p=&(j+2); 答案:A

第10题 (2.0分) 题号:633

对以下说明语句 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

第11题 (2.0分) 题号:574

若变量已正确定义并赋值,下面符合C语言语法的表达式是()。 A:a:=b+1 B:a=b=c+2 C:int 18.5%3 D:a=a+7=c+b 答案:B

第12题 (2.0分) 题号:110 C语言中,char类型数据占()。 A:1个字节 B:2个字节 C:4个字节 D:8个字节 答案:A

第13题 (2.0分) 题号:551

应用缓冲文件系统对文件进行读写操作,打开文件的函数名为()。 A:open B:fopen C:close D:fclose 答案:B

第14题 (2.0分) 题号:141

若a为int类型,且其值为3,则执行完表达式a+=a*a后,a的值是( ). A:12 B:27

C:18 D:9 答案:A

第15题 (2.0分) 题号:142 下面的表示形式中,正确的字符常量是( ). A:'ab' B:'\\0' C:\D:\ 答案:B

━━━━━━━━━━━━━━━━ 三、程序填空 共1题 (共计15分) ━━━━━━━━━━━━━━━━

第1题 (15.0分) 题号:395

/*------------------------------------------------------- 【程序填空】

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

功能:输入3个数a,b,c,按从小到大的顺序输出。

-------------------------------------------------------*/ #include void main() {

void swap(int *p1, int *p2); int n1,n2,n3;

int *pointer1,*pointer2,*pointer3; printf(\number:n1,n2,n3:\

scanf(\ pointer1=&n1; pointer2=&n2; pointer3=&n3;

/***********SPACE***********/ if(【?】) swap(pointer1,pointer2); /***********SPACE***********/ if(【?】) swap(pointer1,pointer3); /***********SPACE***********/ if(【?】) swap(pointer2,pointer3); printf(\are:%d,%d,%d\\n\}

/***********SPACE***********/ void swap(【?】) { int p;

p=*p1;*p1=*p2;*p2=p; } 答案:

=======(答案1)======= n1>n2

=========或========= n2

=========或========= *pointer1>*pointer2 =========或========= *pointer2<*pointer1

=======(答案2)======= n1>n3

=========或========= n3

那契级数的前n

项为: 1,1,1,3,5,9,17,31,?? ,从第四项开始,每一项的值是其前三项之和。 项值通过函数值返回 main ( )函数。 例如:若 n = 15,则应输出:The value is: =======(答案1)======= for (k=4; k<=n; k++) =======(答案2)======= a=b;

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

void change(char str[]); char str[40]; gets(str); change(str); =========或========= *pointer1>*pointer3 =========或========= *pointer3<*pointer1

=======(答案3)======= n2>n3

=========或========= n3

=========或========= *pointer2>*pointer3 =========或========= *pointer3<*pointer2

=======(答案4)======= int *p1,int *p2

━━━━━━━━━━━━━━━━ 四、程序改错 共1题 (共计15分) ━━━━━━━━━━━━━━━━

第1题 (15.0分) 题号:374

/*------------------------------------------------------ 【程序改错】

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

功能:求广义菲玻那契级数的第n项。广义菲玻

2209。

------------------------------------------------------*/ #include #include

long fun ( int n ) {

long a=1, b=1, c=1, d=1, k; /**********FOUND**********/ for (k=4; k

d = a+b+c;

/**********FOUND**********/ a=b b=c; c=d; }

/**********FOUND**********/ return k; }

void main( )

{ long fun ( int n ); int n = 15;

printf( \( n ) ); } 答案:

return d;

━━━━━━━━━━━━━━━━ 五、程序设计 共1题 (共计20分) ━━━━━━━━━━━━━━━━

第1题 (20.0分) 题号:391

/*------------------------------------------------ 【程序设计】

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

功能:将字符串中的小写字母转换为对应的大写字母,

其它字符不变。

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

#include \#include void wwjt();

void change(char str[]) {

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

/********** End **********/ }

void main()

puts(str); wwjt(); }

void wwjt() {

FILE *IN,*OUT; char i[200];

IN=fopen(\ if(IN==NULL) {

printf(\ }

OUT=fopen(\ if(OUT==NULL) {

printf(\ }

fscanf(IN,\ change(i);

fprintf(OUT,\ fclose(IN); fclose(OUT); }

答案:---------------------- int i;

for(i=0;str[i]!='\\0';i++) if(str[i]>='a' && str[i]<='z') str[i]=str[i]-32;

---------------------- 七

━━━━━━━━━━━━━━━ 一、判断 共10题 (共计20分) ━━━━━━━━━━━━━━━

第1题 (2.0分) 题号:33 int i,*p=&i;是正确的C说明。 答案:Y

第2题 (2.0分) 题号:820

函数嵌套是在函数的函数体中定义另外的函数. 答案:N

第3题 (2.0分) 题号:1270

用puts和gets函数每次调用可以输入输出多个字符串. 答案:N

第4题 (2.0分) 题号:26

int a[3][4]={{1},{5},{9}}; 它的作用是将数组各行第一列

的元素赋初值,其余元素值为0。 答案:Y

第5题 (2.0分) 题号:23

若 a=3,b=2,c=1 则关系表达式\的值为\真\。 答案:Y

第6题 (2.0分) 题号:1150 0x1A、219、0678都是合法的常量. 答案:N

第7题 (2.0分) 题号:1225

在给变量命名时,C语言区分大小写字母,即认为Name和name不是同一个变量. 答案:Y

第8题 (2.0分) 题号:1232 在C语言中,INT可以被定义为变量名. 答案:Y

第9题 (2.0分) 题号:1144

C语言程序中,数组中的每一个元素都必须是同一种数据类型. 答案:Y

第10题 (2.0分) 题号:1269

若定义int a[4]={1,2,3,4};若超界引用a[4]则编译时不报错. 答案:Y

━━━━━━━━━━━━━━━━━ 二、单项选择 共15题 (共计30分) ━━━━━━━━━━━━━━━━━

第1题 (2.0分) 题号:167 下列语句中,不正确的是()。 A:char a[2]={1,2}; B:int a[2]={'1','2'}; C:char a[2]={'1','2','3'}; D:char a[2]={'1'}; 答案:C

第2题 (2.0分) 题号:87

C语言源程序的基本单位是()。 A:过程 B:函数 C:子程序 D:标识符 答案:B

第3题 (2.0分) 题号:3162

若变量已正确定义,执行语句scanf(\\时,___是正确的输入 A:2030,40 B:20 30 40 C:20, 30 40 D:20,30,40 答案:D

第4题 (2.0分) 题号:563 以下叙述中正确的是()。 A:构成C程序的基本单位是函数 B:可以在一个函数中定义另一个函数 C:main()函数必须放在其它函数之前

D:所有被调用的函数一定要在调用之前进行定义 答案:A

第5题 (2.0分) 题号:586 以下选项中合法的实型常数是()。 A:5E2.0 B:E-3 C:.2E0 D:1.3E

答案:C

第6题 (2.0分) 题号:136

在C语言中,不正确的int类型的常数是( ). A:32768 B:0 C:37 D:0xAF 答案:A

第7题 (2.0分) 题号:555

选择结构中的条件与循环结构中循环成立的条件,

在写法上可以是任一表达式,但其值只能被判断为“真”或“假”。 哪个数作为逻辑“假”值()。 A:-1 B:1 C:非零的数 D:0 答案:D

第8题 (2.0分) 题号:622 putchar函数可以向终端输出一个()。 A:整型变量表达式值 B:实型变量值 C:字符串

D:字符或字符型变量值 答案:D

第9题 (2.0分) 题号:3163

C语言中while和do—while循环的主要区别是 C:名 D:一个标志 三、程序填空 共1题 (共计15分) ━━━━━━━━━━━━━━━━

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

A:While的循环控制条件比do—while的循环控制条件严格

B:do—while的循环体至少无条件执行一次 C:do—while允许从外部转到循环体内 D:do—while循环体不能是复合语句 答案:B

第10题 (2.0分) 题号:3116

若变量均已正确定义并赋值,以下合法的C语言赋值语句是 A:x=n/2.5; B:x==5; C:x+n=I; D:5=x=4+1; 答案:A

第11题 (2.0分) 题号:525 C语言中不可以嵌套的是()。 A:函数调用 B:函数定义 C:循环语句 D:选择语句 答案:B

第12题 (2.0分) 题号:704

变量的指针,其含义是指该变量的()。 A:值 B:地址

答案:B

第13题 (2.0分) 题号:107

设C语言中,int类型数据占2个字节,则long类型数据占()。 A:1个字节 B:2个字节 C:4个字节 D:8个字节 答案:C

第14题 (2.0分) 题号:109 C语言中,double类型数据占()。 A:1个字节 B:2个字节 C:4个字节 D:8个字节 答案:D

第15题 (2.0分) 题号:711 下列选项中正确的语句组是()。 A:char s[8]; s={\B:char *s; s={\C:char s[8]; s=\D:char *s; s=\ 答案:D

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

第1题 (15.0分) 题号:432

/*------------------------------------------------------- 【程序填空】

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

功能:计算平均成绩并统计90分以上人数。

-------------------------------------------------------*/ #include void main() { int n,m;

float grade,average; average=0.0;

/***********SPACE***********/ n=m=【?】; while(1) {

/***********SPACE***********/ 【?】(\ if(grade<0) break; n++;

average+=grade;

/***********SPACE***********/ if(grade<90)【?】; m++; }

if(n) printf(\} 答案:

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

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

━━━━━━━━━━━━━━━━ 四、程序改错 共1题 (共计15分) ━━━━━━━━━━━━━━━━

第1题 (15.0分) 题号:442

/*------------------------------------------------------ 【程序改错】

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

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

符串,并输出其长度。

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

#include #include

int length(char *p) { int n; n=0;

/**********FOUND**********/ while(*p=='\\0')


C语言上机题库(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:施工技术交底

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: