C语言上机题库(2)

2019-04-13 22:40

scanf(\

=======(答案4)======= av2=s2/j

void main() { int fun(int m); int sum;

功能:编写函数fun求1!+2!+3!+ ?? +n!的和,在main函

数中由键盘输入n值,并输出运算结果。{

FILE *IN,*OUT; int i; int iIN;

━━━━━━━━━━━━━━━━ 四、程序改错 共1题 (共计15分) ━━━━━━━━━━━━━━━━ 第1题 (15.0分) 题号:399

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

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

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

------------------------------------------------------*/ #include #define N 20

int fun(int m) {

/**********FOUND**********/ int s=0,i; for(i=1;i

/**********FOUND**********/ if(i%m=0)

/**********FOUND**********/ s=*i; return s; }

sum=fun(5);

printf(\以内所有%d的倍数之积为: %d\\n\} 答案:

=======(答案1)======= int s=1 , i ;

=======(答案2)======= if(i%m==0)

=======(答案3)======= s=s*i;

=========或========= s=i*s;

=========或========= s*=i;

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

第1题 (20.0分) 题号:16

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

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

请编写fun 函数。

例如:若n值为5,则结果为153。

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

#include void wwjt(); long int fun(int n) {

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

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

void main()

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

long int result; scanf(\ result=fun(n);

printf(\ wwjt(); }

void wwjt()

long int iOUT;

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

printf(\Dir..It May Be Changed\ }

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

printf(\Verify The Current Dir.. It May Be Changed\ }

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

fscanf(IN,\ iOUT=fun(iIN);

fprintf(OUT,\ }

fclose(IN); fclose(OUT); }

答案:---------------------- int i; float f=1,s=0; for(i=1;i<=n;i++) {f=f*i; s=s+f;} return s;

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

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

果完全相同. 答案:N

第8题 (2.0分) 题号:1243

'm' 是C的合法常量,而\不是C的合法常量. if(a>c)b=a;a=c;c=b;则c的值为()。 A:1 B:2 C:3 D:不一定 C:puts(s1);与puts(s2);结果相同 D:s1不能再指向其它单元 答案:C

第1题 (2.0分) 题号:1237

结构体类型不是系统固有的,它需要用户在程序中先定义,后使用. 答案:Y

第2题 (2.0分) 题号:1245 函数的递归就是反复地进行函数调用. 答案:N

第3题 (2.0分) 题号:1279

循环结构while、do while、for不可以互相嵌套. 答案:N

第4题 (2.0分) 题号:1139

结构体变量占用的内存单元的长度是其各成员占用长度之和. 答案:Y

第5题 (2.0分) 题号:1143

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

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

第7题 (2.0分) 题号:1256

while循环结构和do while循环结构的执行结

答案:N

第9题 (2.0分) 题号:1100

假设有int a[10], *p;则p=&a[0]与p=a等价 答案:Y

第10题 (2.0分) 题号:1226

在循环程序设计时,当while循环的条件表达式为常数1时,必然构成死循环. 答案:N

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

第1题 (2.0分) 题号:159

执行下面程序段从键盘给变量a,b,c输入值,正确的输入格式为( ). int a,c; char b;

scanf(\A:123,d,45 B:123 d 45 C:123d45 D:a=123b=dc=45 答案:C

第2题 (2.0分) 题号:508 int a=1,b=2,c=3;

答案:B

第3题 (2.0分) 题号:3117

已知字符'A'的ASCⅡ代码值是65,字符变量c1的值是'A',c2的值是'D'.

执行语句printf(\后,输出结果是 A:A,B B:A,68 C:65,66 D:65,68 答案:C

第4题 (2.0分) 题号:662

C语言中,函数值类型的定义可以缺省,此时函数值的隐含类型是()。 A:void B:int C:float D:double 答案:B

第5题 (2.0分) 题号:544 char *s1=\则()。 A:s2指向不确定的内存单元 B:不能访问\

第6题 (2.0分) 题号:192

对两个数组a和b进行如下的初始化:char a[]={'a', 'b', 'c', 'd', 'e', 'f'};char b[]=\则以下叙述正确的是( ). A:a数组与b数组完全相同 B:a数组与b数组具有相同的长度

C:a数组和b数组的最后一个字符都是字符串结束标志符'\\0'

D:a数组的长度比b数组的长度小 答案:D

第7题 (2.0分) 题号:125 下列程序的输出结果是()。 main() {int a=7,b=5; printf(\} A:0 B:5 C:1 D:不确定值 答案:A

第8题 (2.0分) 题号:151 以下程序的运行结果是()。 main() {

int i=1,sum=0;

while(i<10) sum=sum+1;i++; printf(\}

A:i=10,sum=9 B:i=9,sum=9 C:i=2,sum=1 D:运行出现错误 答案:D

第9题 (2.0分) 题号:115

先用语句定义字符型变量c,然后要将字符a赋给c,则下列语句中正确的是()。 A:c='a'; B:c=\C:c=\D:C='97' 答案:A

第10题 (2.0分) 题号:180

以下函数调用语句中实参的个数是()。 func((e1,e2),(e3,e4,e5)); A:2 B:3 C:5 D:语法错误 答案:A

第11题 (2.0分) 题号:165

关于多路分支语句switch,下面说法不正确的是( ).

A:switch语句不能嵌套

B:switch语句中可以出现多个空的case子句 C:凡是能用switch语句实现的分支控制都可以用if语句实现

D:一般情况下,当有多路分支时使用switch语句比使用if语句方便 答案:A

第12题 (2.0分) 题号:126

下列( )可以作为用户自定义的变量名使用. A:if B:#a334 C:return D:_example 答案:D

第13题 (2.0分) 题号:175 有程序段如下: int a=1,b=2,c=3;

if(a>b)c=a; a=b; b=c;执行该程序段后,变量a、b、c的值是( ). A:a=1,b=2,c=3 B:a=2,b=3,c=3 C:a=2,b=3,c=1 D:a=2,b=3,c=2 答案:B

第14题 (2.0分) 题号:638

设有数组定义: char array [ ]=\则数组 array所占的

空间为()。 A:4个字节 B:5个字节 C:6个字节 D:7个字节 答案:C

第15题 (2.0分) 题号:3561

以下程序中,while循环的循环次数是______ main() {

int i=0; while(i<10) {

if(i<1) continue; if(i==5) break; i++; } } A:1 B:4 C:6

D:死循环,不能确定次数 答案:D

━━━━━━━━━━━━━━━━ 三、程序填空 共1题 (共计15分) ━━━━━━━━━━━━━━━━ 第1题 (15.0分) 题号:429

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

--------------------------------------------------------- 功能:从读入的整数数据中,统计大于零的整

数个数和小于零的

整数个数。用输入零来结束输入,程序中用变量i统计大于

零的整数个数,用变量j统计小于零的整数个数。

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

printf(\ i=j=0;

scanf(\ while(n!=0) {

/***********SPACE***********/ if(n>0)i=【?】;

/***********SPACE***********/ if(n<0)j=【?】;

/***********SPACE***********/ scanf(\【?】); }

printf(\} 答案:

=======(答案1)======= i + 1

=======(答案2)======= j + 1

=======(答案3)======= &n

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

第1题 (15.0分) 题号:3 【程序改错】

-------------------------------------------------------- 功能:用冒泡法对10个整数从小到大排序。 printf(\答案:

=======(答案1)======= void sort(int *x,int n) -5 x>10

------------------------------------------------*/ #include void wwjt(); int fun(int n) {

printf(\Verify The Current Dir.. it May Be Changed\ }

for(i=0;i<5;i++) /*------------------------------------------------------ }

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

/**********FOUND**********/ void sort(int x,int n) { int i,j,t;

for(i=0;i

/**********FOUND**********/ for(j=0;j

/**********FOUND**********/ if(x[i]>x[i+1]) { t=x[j]; x[j]=x[j+1]; x[j+1]=t; } }

void main() { void sort(int *,int); int i,n,a[100];

printf(\ scanf(\ for(i=0;i

/**********FOUND**********/ sort(n,a);

printf(\ for(i=0;i<=n-1;i++) printf(\

=========或========= void sort(int x[],int n) =======(答案2)======= for(j=0;j< n -1 -i ;j++) =========或========= for(j=0; n -1 -i >j;j++) =========或========= for(j=0;jj;j++) =========或========= for(j=0;j<= n -2 -i ;j++) =======(答案3)======= if(x[j]>x[ j + 1 ])

=========或========= if(x[ j + 1]

=======(答案4)======= sort(a,n);

━━━━━━━━━━━━━━━━ 五、程序设计 共1题 (共计20分) ━━━━━━━━━━━━━━━━ 第1题 (20.0分) 题号:29 /*------------------------------------------------ 【程序设计】

-------------------------------------------------- 功能:对任意输入的 x,用下式计算并输出 y 的值。

5 x<10 y= 0 x=10

{

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

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

void main () { int fun(int n); int x,y; printf(\ scanf(\ y=fun(x);

printf(\ wwjt(); }

void wwjt() {

FILE *IN,*OUT; int i; int iIN; long int iOUT; IN=fopen(\ if(IN==NULL) {

printf(\Verify The Currernt Dir..it May Be Changed\ }

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

{

fscanf(IN,\ iOUT=fun(iIN);

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

答案: int m; if(n<10) m=5; else

if(n==10) m=0; else m=-5; return m; 或 int m; if(n>=10) if(n>10) m=-5; else m=0; else m=5; return m;

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

第7题 (2.0分) 题号:1276

若定义int a[4]={1,2,3,4};若引用最后的元素,写法为a[4]. 答案:N

答案:A

第2题 (2.0分) 题号:504

执行以下程序段后,输出结果和a的值是()。 答案:C

第5题 (2.0分) 题号:156 执行下列语句后的输出为()。 第1题 (2.0分) 题号:24

对于数值型数组,C语言中只能逐个引用数组元素而不能一次引用整个数组。 答案:Y

第2题 (2.0分) 题号:1279

循环结构while、do while、for不可以互相嵌套. 答案:N

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

第4题 (2.0分) 题号:1251

在定义链表结点的数据类型中,至少要包括一个指针类型的成员. 答案:Y

第5题 (2.0分) 题号:1234

函数嵌套就是在定义函数的函数体中调用被定义的函数本身. 答案:N

第6题 (2.0分) 题号:1112

字符处理函数strcpy(str1,str2)的功能是把字符串1接到字符串2的后面. 答案:N

第8题 (2.0分) 题号:1282

字符型数据与整型数据之间可以互相赋值和运算. 答案:Y

第9题 (2.0分) 题号:1140

链表中的任何一个结点,必然要包括一个指针域. 答案:Y

第10题 (2.0分) 题号:1273

在if语句的定义:if(表达式) 语句 中,只有当表达式的值为1时才执行其后的语句. 答案:N

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

第1题 (2.0分) 题号:211 下面程序的输出结果是( ) main()

{int a[8]={8,7,6,5,4,3,2,1},*p; p=a+3; printf(\} A:3 B:4 C:5 D:2

int a=10; printf(\A:10 和 10 B:10 和 11 C:11 和 10 D:11 和 11 答案:B

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

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

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

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

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

第4题 (2.0分) 题号:153

能正确表示数学不等式0≤a≤18的C语言表达式是( ). A:a>=0&a<=18 B:a>=0||a<=18 C:a>=0&&a<=18 D:0≤a&&a≤18

int j=-1;

if(j<=1) printf(\ else printf(\A:**** B:%%%% C:%%%%c

D:有错,执行不正确 答案:A

第6题 (2.0分) 题号:157

在程序设计中,算法一般都可以用( )控制结构组合而成. A:循环、分支、递归 B:顺序、循环、嵌套 C:循环、递归、分支 D:顺序、分支、循环 答案:D

第7题 (2.0分) 题号:3112

下列语句定义pf为指向float类型变量f的指针,_____是正确的. A:float f, *pf = f; B:float f, *pf = &f; C:float *pf = &f, f; D:float f, pf 答案:B


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

下一篇:施工技术交底

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

马上注册会员

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