试卷编号:9405
所属语言:C语言
试卷方案:C语言练习
试卷总分:115分
共有题型:3种
一、单项选择共100题(共计100分)
第1题(1.0分)
有以下程序
main()
{ int p[7]={11,13,14,15,16,17,18},i=0,k=0; while(i<7&&p[i]%2){k=k+p[i]; i++;}
printf("%d\n",k);
}
执行后输出的结果是
A:58
B:56
C:45
D:24
答案:D
第2题(1.0分)
以下正确的描述是:在C语言程序中()。
A:函数的定义可以嵌套,但函数的调用不可以嵌套B:函数的定义不可以嵌套,但函数的调用可以嵌套C:函数的定义和函数的调用均不可以嵌套
D:函数的定义和函数的调用均可以嵌套
答案:B
第3题(1.0分)
有如下程序
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
答案:A
第4题(1.0分)
下述标识符中,()是合法的用户标识符. A:A#C
B:getch
C:void
D:ab*
答案:B
第5题(1.0分)
若有以下程序:
main()
{
int k=2,i=2,m;
m=(k+=i*=k);
printf("%d,%d\n",m,i); }
执行后的输出结果是______。
A:8,6
B:8,3
C:6,4
D:7,4
答案:C
第6题(1.0分)
有以下程序
main()
{ char a='a',b;
print("%c,",++a);
printf("%c\n",b=a++);
}
程序运行后的输出结果是
A:b,b
B:b,c
C:a,b
D:a,c
答案:A
第7题(1.0分)
以下不正确的叙述是()。
A:在C程序中所用的变量必须先定义后使用
B:程序中,APH和aph是两个不同的变量
C:若a和b类型相同,在执行了赋值语句a=b;后b中的值将放入a 中,b中的值不变
D:当输入数值数据时,对于整型变量只能输入整型值;对于实型变量只能输入实型值
答案:D
第8题(1.0分)
在下列选项中,不正确的赋值语句是( )
A:++t;
B:n1=(n2=(n3=0));
C:k=i==j;
D:a=b+c=1;
答案:D
第9题(1.0分)
若有int x=4,y=5;, 则执行完表达式x*=y-1后,x值为( ). A:16
B:0
C:1
D:19
答案:A
第10题(1.0分)
下列选项中,合法的C语言关键字是()。
A:VAR
B:cher
C:integer
D:default
答案:D
第11题(1.0分)
下列数组说明中,正确的是()。
A:int array[][4];
B:int array[][];
C:int array[][][5];
D:int array[3][];
答案:A
第12题(1.0分)
若变量a是int类型,并执行了语句:a='A'+1.6;,则正确的叙述是
A:a的值是字符C
B:a的值是浮点型
C:不允许字符型和浮点型相加
D:a的值是字符'A'的ASCII值加上1.
答案:D
第13题(1.0分)
用下列语句定义a,b,c,然后执行b=a、c='b'+b,则b,c的值是()。
long a=0xffffff;
int b; char c;
A:0ffffff 和0x61
B:-1和98
C:-1和97
D:指向同一地址
答案:C
第14题(1.0分)
设以下变量均为int类型,则值不等于7的表达式是()。A:(x=y=6,x+y,x+1)
B:(x=y=6,x+y,y+1)
C:(x=6,x+1,y=6,x+y)
D:(y=6,y+1,x=y,x+1)
答案:C
第15题(1.0分)
若k是int型变量,且有下面的程序片段:
int k = -2; if (k<=0) printf("####"); else printf("&&&&");
上面程序片段的输出结果是( )
A:####
B:&&&&
C:####&&&&
D:有语法错误,无输出结果
答案:A
第16题(1.0分)
int a=3,b=2,c=1;
if(a>b>c)a=b;
else a=c;
则a的值为()。
A:3
B:2
C:1
D:0
答案:C
第17题(1.0分)
t为int类型,进人下面的循环之前,t的值为0 while( t=l )
{ ……}
则以下叙述中正确的是
A:循环控制表达式的值为0
B:循环控制表达式的值为1
C:循环控制表达式不合法
D:以上说法都不对
答案:B
第18题(1.0分)
以下叙述不正确的是()。
A:一个C源程序可由一个或多个函数组成
B:一个C源程序必须包含一个main函数
C:C程序的基本组成单位是函数
D:在C程序中,注释说明只能位于一条语句的后面
答案:D
第19题(1.0分)
已定义ch为字符型变量,以下赋值语句中错误的是()。A:ch='\';
B:ch=62+3;
C:ch=NULL;
D:ch='\xaa';
答案:A
第20题(1.0分)
以下程序的输出结果是
main()
{ int i, a[10];
for(i=9;i>=0;i--) a[i]=10-i; printf("%d%d%d",a[2],a[5],a[8]); }
A:258
B:741
C:852
D:369
答案:C
第21题(1.0分)
在C语言中,执行语句:for (j=1; j<=4; ++j);后,变量j的值是( ) A:3
B:4
C:5
D:不定
答案:C
第22题(1.0分)
有如下程序
main( )
{ int n=9;
while(n>6) {n--;printf("%d",n);}
}
该程序段的输出结果是
A:987
B:876
C:8765
D:9876
答案:B
第23题(1.0分)
以下不正确的说法是:C语言规定()。
A:实参可以是常量,变量或表达式
B:形参可以是常量,变量或表达式
C:实参可以为任何类型
D:形参应与其对应的实参类型一致
答案:B
第24题(1.0分)
下列条件语句中,功能与其他语句不同的是
A:if(a) printf("%d\n",x); else printf("%d\n",y)
B:if(a==0) printf("%d\n",y); else printf("%d\n",x) C:if (a!=0) printf("%d\n",x); else printf("%d\n",y) D:if(a==0) printf("%d\n",x); else printf("%d\n",y)
答案:D
第25题(1.0分)
若变量c为char类型,能正确判断出c为小写字母的表达式是A:a'<=c<= 'z'
B:(c>= 'a')||(c<= 'z')
C:('a'<=c)and ('z'>=c)
D:(c>= 'a')&&(c<= 'z')
答案:D
第26题(1.0分)
下列程序段的输出结果为()。
int x=3,y=2;
printf("%d",(x-=y,x*=y+8/5));
A:1
B:7
C:3
D:5
答案:C
第27题(1.0分)
表达式:10!=9的值是( )
A:true
B:非零值
C:0
D:1
答案:D
第28题(1.0分)
When a=1,b=2,c=3时, after execution of the following program segment,the value of x is()。
k1=1;
k2=2;
k3=3;
x=15;
if(!k1) x--;
else if(k2) x=4;
else x=3;
A:14
B:4
C:15
D:3
答案:B
第29题(1.0分)
执行以下程序段后,输出结果和a的值是()。int a=10;
printf("%d",a++);
A:10 和 10
B:10 和 11
C:11 和 10
D:11 和 11
答案:B
第30题(1.0分)
在C语言的函数中,下列正确的说法是()。A:必须有形参
B:形参必须是变量名
C:可以有也可以没有形参
D:数组名不能作形参
答案:C
第31题(1.0分)
若有说明语句:char c='\72';则变量c()。A:包含1个字符
B:包含2个字符
C:包含3个字符
D:说明不合法,c的值不确定
答案:A
第32题(1.0分)
已知x=43,ch='A',y=0;则表达式(x>=y&&ch<'B'&&!y)的值是()。A:0
B:语法错
C:1
D:"假"
答案:C
第33题(1.0分)
执行下面程序片段的结果是( )
int x=23;
do
{ printf("%2d",x--);}
while(!x);
A:打印出321
B:打印出23
C:不打印任何内容
D:陷入死循环
答案:B
第34题(1.0分)
下列数组说明中,正确的是()。
A:static char str[]="China";
B:static char str[]; str="China";
C:static char str1[5],str2[]={"China"}; str1=str2; D:static char str1[],str2[];str2={"China"};
strcpy(str1,str2);
答案:A
第35题(1.0分)
以下对C语言函数的描述中,正确的是()。
A:C程序必须由一个或一个以上的函数组成
B:C函数既可以嵌套定义又可以递归调用
C:函数必须有返回值,否则不能使用函数
D:C程序中有调用关系的所有函数必须放在同一个程序文件中
程序改错------------------------------------- 1题目:在一个一维整型数组中找出其中最大的数及其下标。 程序中共有4条错误语句,请改正错误。 -----------------*/ #define N 10 /**********FOUND**********/ float fun(int *a,int *b,int n) { int *c,max=*a; for(c=a+1;cmax) { max=*c; /**********FOUND**********/ b=c-a;} return max; } main() { int a[N],i,max,p=0; printf("please enter 10 integers:\n"); for(i=0;i 下列程序是建立一个包含学生有关数据的单向链表。但该程序有2个错误,错误出现在每个注释行附近,请调试改正。调试改正中,不得改变程序结构,也不得增删语句。 #define NULL 0 struct stud { long num; char name[10]; float score; struct stud *next; }; /* …………… comment …………… */ int n; struct stud create() 序中有两处错误代码,请改正.注意,不得改变程序结构。 #include <> main() { int a[8],*p=a; int i,j; int tempmin,tempcode; printf("\n input the numbers:\n"); for (i=0;i<8;i++) scanf("%d",p+i); tempmin=*p; for (i=0;i<7;i++) { for (j=i;j<8;j++) if (j==i||*(p+j) 【程序改错】 1.功能:利用递归函数调用方式,将所输入的5个字符,以相反顺序 打印出来。 char next; next=getchar(); palin(n-1); 2.功能:求广义菲玻那契级数的第n项。广义菲玻那契级数的前n 项为: 1,1,1,3,5,9,17,31,…… 项值通过函数值返回 main ( )函数。 例如:若 n = 15,则应输出:The value is: 2209。 for (k=4; k<=n; k++) a=b; return d; 3.功能:根据整型形参m,计算如下公式的值: y=1/2+1/8+1/18+...+1/2m*m double y=0.0; 4.功能:编制统计营业员一天的营业额的程序,设程序采用一个循环 实现,每次循环输入一笔交易金额并累计营业额。由于营 业员一天完成的交易次数是不确定的,为此以最后附加输 入一笔0或负数交易额作为交易金额已全部输入结束的标志。 float sale,sigma; scanf("%f",&sale); sigma=sigma+sale; 5.功能:读取7个数(1-50)的整数值,每读取一个值,程序打印出该值个数的*。while(n<8) while(a<1||a>50); for(i=0;i 1、以下程序的功能是求如下表达式: 1 1 1 S = 1 + ——+ ———+ ...... + ——————— 1+2 1+2+3 1+2+3+......+n 『答案』:1 scanf("%d",&n); 2 float fun(int n) 3 for(i=1;i<=n;i++) 4 s+=1.0/t 或s= s + 1.0 /t; 2、题目:函数fun的功能是:根据整型形参m的值,计算如下公式的值。 1 1 1 t = 1- ——- ——- ... - —— 2x2 3x3 mxm 例如,若m=5,则应输出:0.536389 『答案』:1 for(i=2;i<=m;i++)或for(i=2;i 第12次上机程序改错第1题 【程序改错】 -------------------------------------------------------- 功能:求二分之一的圆面积,函数通过形参得到圆的半径,函数返回二分之一的圆面积。 例如:输入圆的半径值:19.527 输出为:s = 598.950017。 ------------------------------------------------------*/ #include printf ( "Enter x: "); scanf ( "%f", &x ); printf (" s = %f\n ", fun ( x ) ); } 第2题【程序改错】 功能:先将在字符串s中的字符按逆序存放到t串中,然后把s中的字符按正序连接到t串的后面。 例如:当s中的字符串为:“ABCDE”时,则t中的字符串应为:“EDCBAABCDE”。 ------------------------------------------------------*/ #include (一)功能:用选择法对数组中的n个元素按从小到大的顺序进行排序。#include "stdio.h" #define N 20 void fun(int a[], int n) { int i, j, t, k; for (j = 0 ;j < n-1 ;j++) { /**********ERROR**********/ k = j for (i = j+1;i < n; i++) /**********ERROR**********/ if(a[i] >a[k]) /**********ERROR**********/ k=j; t = a[k] ; a[k] = a[j] ; a[j] = t; } } main() { int a[N]={9,6,8,3,-1},i, m = 5; printf("排序前的数据:") ; for(i = 0;i < m;i++) printf("%d ",a[i]); printf("\n"); fun(a,m); printf("排序后的数据:") ; for(i = 0;i < m;i++) printf("%d ",a[i]); printf("\n"); } 【参考答案】 k = j; 【参考答案】 if(a[i] < a[k]) if(a[k] > a[i]) 【参考答案】 k = i; (二)功能:求广义菲玻那契级数的第n项。广义菲玻那契级数的前n 项为: 1,1,1,3,5,9,17,31,…… 项值通过函数值返回 main ( )函数。 例如:若 n = 15,则应输出:The value is: 2209。 #include "conio.h" #include "stdio.h" long fun ( int n ) { long a=1, b=1, c=1, d=1, k; /**********ERROR**********/ for (k=4; kC语言程序改错及填空题
c语言程序改错
C语言程序改错2
C语言程序改错题
程序改错完整版---C语言
齐齐哈尔大学C语言题库 程序改错(部分)