8-8-C语言上机考试试题20

2020-04-14 03:16

C 语言上机考试-20

2008.8.8

1. 选择题 ( 评分标准 20 分,每小题2分 )

1.设有int x=11;,则表达式 (x+1/3) 的值是________。 (A) 3 (B) 4 (C) 11 (D) 12

2.设有字符串定义a[]=\has QI!\,则a字符串的长度为________。 (A) 9 (B) 10 (C) 11 (D) 8

3.有如下程序段,则正确的执行结果是________。

int m=3; while(m<=5) { printf(\ m++; }

(A)0 0 0 (B)0 1 2 (C)1 2 3 (D) 无结果

4.执行语句:int b,a; printf(\(a=2)&&(b=-2)); 后,输出结果是________。 (A) 无输出 (B) 结果不确定 (C) -1 (D) 1

5.有如下定义类型语句,若从键盘输入数据,正确的输入语句是________。

int x; char y; char z[20]; (A) scanf(\ (B) scanf(\(C) scanf(\ (D) scanf(\6.设有如下定义:

struct ss{ char name[10]; int age; char sex; } std[3],*p=std;

下面各输入语句中错误的是________。

(A) scanf(\ (C) scanf(\

(B) scanf(\(D) scanf(\

7.在C语言中,对于实型数组,其每个数组元素的类型是________。 (A) 实型 (B) 整型 (C) 可以为任何类型 (D) 不确定

8.若已定义:int a[9],*p=a; 不能表示a[1] 地址的表达式是________。 (A) p+1 (B) a+1 (C) a++ (D) ++p

9.从循环体内某一层跳出,继续执行下一循环的语句是:________。

(A) break语句 (B) return语句 (C) continue语句 (D) 空语句。 10.在C++的类中,用于表示公共类型的关键字是________。

(A) class (B) private (C) protect (D) public

套数号 20 答案 1. C 2. B 3. B 4.D 5. D 6. B 7. A 8. C 9. C 10. D 2. 判断题 ( 评分标准 20 分,每小题2分)

1. 表达式x=a=3,6*3的值是18。

2. 在C语言中,逻辑运算符&&、||、!的优先级从高到低的排列为: &&、!、||。 3. 在C语言所有的运算符中,优先级最低的是\。

4. 对于一个字符串ch=\ sizeof(ch)与strlen(ch)的值相等。 5. 在C语言中,顺序、选择、循环都是算法的基本单元。 6. 对于循环while(!e)语句, !e等价于e!=0。

7. C语言程序中的main()函数,可以放在程序的任意部分。 8. C 语言中,局部变量的缺省的存储类别是auto。 9. 在C语言中,一般建议多使用全局变量及GOTO语句。 10. 链表的结点都是动态分配的,因此所有的链表都是动态链表。

套数号 20 答案 1. T 2. F 3. F 4. F 5. T 6. F 7. T 8. T 9. F 10. F

3. 填空题 ( 评分标准 10 分,每小题2分)

1.下面程序段的输出结果是____________。

int a=1234; a=a&0377; printf(\

2. C语言中,__________语句的作用是结束本次循环,然后执行下一循环。 3. 在以下程序段中,k为整型,则while循环执行__________次。

int k=2; while(k==0) k--; printf(\

4. 数组名作为实参传递给形参时,是把数组的__________传递给形参(用文字表示)。 5. C语言中以追加方式打开一个文件应选择___________参数(用字符表示)。

第20套 (1) 210 (2) continue (3) 0 (4) 首地址 (5) a 4. 程序改错题 ( 评分标准 20 分,每小题 5分 )

1. 以下程序的功能是,求从键盘输入十个实数:1.0 2.0 3.0 4.0 5.0 6.1 7.2 8.3 9.4 10.5中的整数部分和,及十个实数的平均值。 #include main() { }

int i,n=0;

float s=0.0,s1=0.0,a[10]; for(i=0; i<10; i++)

scanf(\if(a[i]>0) { }

printf(\

s+=(int)a[i]; s1+=a[i]; n++;

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

操作说明:

在考生目录的**子目录下,有*.c文件,该文件中“/* $1*/”行中的语句s=a[i]; 有错误,请改正(注意:不得加行、减行、加句、减句,否则后果自负)。该程序功能:求从键盘输入十个实数:1.0 2.0 3.0 4.0 5.0 6.1 7.2 8.3 9.4 10.5中的整数部分和,及十个实数的平均值。 答案:s+=(int)a[i]; 运行样例1行

运行样例1:运行结果:55 5.65

2. 以下程序,从键盘上输入10个整数存入一维数组中,排序后按由大到小的顺序输出。 #include main()

{ int i,j,t,a[10]; }

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

scanf(\for(i=0; i<9; i++) for(j=9; j>i; j--)

if(a[j-1]

a[j+1]=a[j]; /* $1 */ a[j]=t; }

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

printf(\

操作说明:

在考生目录的**子目录下,有*.c文件,该文件中“/*$1*/”行中的语句a[j+1]=a[j]; 有错误,请改正(注意:不得加行、减行、加句、减句,否则后果自负)。该程序功能:从键盘上输入10个整数存入一维数组中,排序后按由大到小的顺序输出。例如输入:12 55 42 33 8 5 45 7 1 0,运行后输出:55 45 42 33 12 8 7 5 1 0。 答案:a[j-1]=a[j]; 运行样例2行

运行样例1:输入:12 55 42 33 8 5 45 7 1 0

运行后输出:55 45 42 33 12 8 7 5 1 0

3. 下列程序中函数fun()的功能是:在字符串:fagAyBDh中,找出ASCⅡ码值最大的字符,并将其放在第一个位置上,同时把该字符前的原字符向后顺序移动,调用后字符串中的内容为:yfagABDh。 #include void fun(char *p) { char max, *q; int i=0; max=p[i];

while (p[i]!=0){ if (max

while(q>p){ *q=*(q-1); q--; }

p[0]=max; }

main()

{ char str[20]=\ fun(str); printf(\ }

操作说明:

在考生目录的**子目录下,有*.c文件,该文件中“/*$1*/”行中的语句p=q+i;有错误,请改正(注意:不得加行、减行、加句、减句,否则后果自负)。该程序功能:函数fun()的功能是:在字符串:fagAyBDh中,找出ASCⅡ码值最大的字符,并将其放在第一个位置上,同时把该字符前的原字符向后顺序移动,调用后字符串中的内容为:yfagABDh。 答案:q=p+i; 运行样例1行

运行样例1:运行结果:yfagABDh

4. 下列程序中函数fun()的作用是:将字符串tt中的小写字母其ASCII值大于105的,都改为对应的大写字母,其他字符不变。例如,若输入\,则输出\。 #include

char fun(char tt[]) /* $ */ {

int i;

for(i=0;tt[i];i++)

if((tt[i]>='a')&&(tt[i]<= 'z')&&(tt[i]>=105))

tt[i]-=32;

{

}


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

下一篇:Office2007部分

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

马上注册会员

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