沈阳师范大学C语言

本试卷为沈阳师范大学C语言,题目包括:理论基础,控制结构,循环结构,数组/指针数组,字符串/字符串指针,函数/函数指针,指针,结构体,程序题。

覆盖的内容包括:理论题,基础知识,控制结构,循环结构,数组/指针数组,字符串/字符串指针,函数/函数指针,指针,结构体,程序题。

C语言

一、理论基础 (共20题,每题1分,共计10分)

(  A  )
1、有定义:"int a=2,b=3,c=4;",则下列选项中值为0的表达式是________。
A、(!a==l)&&(!b==0)
B、(a<B)&&!C||1
C、a&&b
D、a||(b+b)&&(c-a)
(  C  )
2、以下选项中不合法的用户标识符是________。
A、_123
B、printf
C、A$
D、Dim
(  C  )
3、设有int x=11;则表达式(x+1/3)的值是________。
A、3
B、4
C、11
D、12
(  D  )
4、下列选项中不是字符常量的是________。
A、'\v'
B、'\x2a'
C、'a'
D、"\0"
(  B  )
5、表达式k=1*3 ? 2 : 0的值是________。
A、3
B、2
C、1
D、0
(  B  )
6、在64位计算机中,一个字长所占字节数为________。
A、64
B、8
C、4
D、1
(  D  )
7、以下不正确的 c 语言标识符是______。
A、ABC
B、abc
C、a_bc
D、ab.c
(  C  )
8、设有如下定义: struck sk
{
int a;
float b;
} data;
int *p;
若要使 p 指向 data 中的 a 域,正确的赋值语句是______。
A、p=&a;
B、p=data.a;
C、p=&data.a;
D、*p=data.a;
(  A  )
9、在 c 语言中 , 以下叙述不正确的是 ___________.
A、在 C 程序中 , 无论是整数还是实数 , 都能被准确无误的表示
B、在 C 程序中 , 变量名代表存储器中的一个位置
C、静态变量的生存期与整个程序的生存期相同
D、C 语言中变量必须先定义后引用
(  B  )
10、条件语句________。
A、不可以嵌套使用
B、可以嵌套使用
C、在一条件下可以嵌套使用
D、嵌套语句中不能使用else子句
(  D  )
11、关于异常的含义,下列描述中最正确的一个是________。
A、程序编译错误
B、程序语法错误
C、程序自定义的异常事件
D、程序编译或者运行时发生的异常事件
(  A  )
12、下列运算符属于关系运算符的是______。
A、==
B、=
C、+=
D、-=
(  A  )
13、若x、y、z、m均为int型变量,则执行下面语句后m的值是________。
m=1;
x=2;
y=3;
m=(m<x) ? m : x;
m=(m<y) ? m : y;
m=(m<y) ? m : z;
A、1
B、2
C、3
D、4
(  B  )
14、无符号二进制数后加上一个0,形成的数是原来的几倍?
A、1
B、2
C、1/2
D、4
(  A  )
15、对于类型相同的两个指针变量之间,不能进行的运算是________。
A、<
B、=
C、+
D、-
(  C  )
16、以下不能定义为用户标识符的是________。
A、yy318
B、_ wan
C、319jing
D、If
(  C  )
17、若ch为char型变量,k为int型变量(已知字符a的ascii十进制代码为97), 则以下程序段的执行结果是________。 ch='a';
k=12;
printf("%x,%o,",ch,ch,k);
printf("k=%%d\n",k);
A、因变量类型与格式描述符的类型不匹配,输出无定值
B、输出项与格式描述符个数不符,输出为零值或不定值
C、61,141,k=%d
D、61,141,k=%12
(  D  )
18、以下叙述正确的是________。
A、在C程序中,每行中只能写一条语句
B、若a是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整型数
C、C程序中,无论是整数还是实数,都能被准确无误地表示
D、在C程序中,%是只能用于整数运算的运算符
(  C  )
19、在下列选项中,不正确的表达式是________。
A、a>b
B、c--, ++b, a+=1
C、a=c+b>n-m=k
D、p++
(  B  )
20、下列标识符中,不合法的 C语言用户自定义标识符是()。
A、printf
B、enum
C、_(下划线)
D、sin

二、控制结构 (共10题,每题1分,共计10分)

(  A  )
1、若a是数值类型,则逻辑表达式(a==1)||(a!=1)的值是________。
A、1
B、0
C、2
D、不知道a的值,不能确定
(  C  )
2、设变量a、b、e、d和y都已正确定义并赋值。若有以下if语句: if(a<b) if(c==d) y=0; else y=1; 该语句所表示的含义是________。
A、y=0,a
B、y=0,a
y=1,a≥b y一1,a≥b且c≠d
C、y=0,a
D、y=0,a
y=1,a<B且C≠D y="1,c≠d
(  C  )
3、下列说法中不正确的是________。
A、switch语句功能可以由if-else语句实现
B、若用于比较的数据类型为double,则不能用switch语句来实现
C、if-else语句的执行效率总是比switch语句高
D、case子句可以有多个语句,并且不需要用大括号””括起来
(  C  )
4、执行以下程序段后,w的值为________。
int w='a',x=14,y=15; w=((x||y)&&(w<'a'));
A、-1
B、NULL
C、1
D、0
(  A  )
5、switch语句不能用于下列哪种数据类型 ( )
A、double
B、byte
C、short
D、char
(  C  )
6、有以下程序
main()
{
int i=1,j=1,k=2;
if((j++‖k++)&&i++)
printf("%d,%d,%d\n",i,j,k);
}
执行后输出结果是________。
A、1,1,2
B、2,2,1
C、2,2,2
D、2,2,3
(  A  )
7、有以下程序
main()
{
int i;
for(i=0;i<3;i++)
switch(i)
{
case 1: printf("%d",i);
case 2: printf("%d",i);
default: printf("%d",i);
}
}
执行后输出的结果是________。
A、011122
B、012
C、012020
D、120
(  A  )
8、分析下列程序:
#include<stdio.h>
main()
{
int*p1,*p2,*p;
int a=6,b=9;
p1=&a;
p2=&b;
if(a<b)
{
p=p1;
p1=p2;
p2=p;
}
printf("%d,%d",*p1,*p2);
printf("%d,%d",a,b);
}
程序的输出结果为________。
A、9,66,9
B、6,99,6
C、6,96,9
D、9,69,6
(  A  )
9、选择出合法的if语句(设int x,a,b,c;)________。
A、if(a=b) x++;
B、if(a=<b) x++;
C、if(a<>b) x++;
D、if(a=>b) x++;
(  C  )
10、a,b 为整型变量,二者均不为 0,以下关系表达式中恒成立的是()。
A、a*b/a*b==1
B、a/b*b/a==1
C、a/b*b+a%b==a
D、a/b*b==a

三、循环结构 (共10题,每题1分,共计10分)

(  C  )
1、下列叙述中正确的是________。
A、break语句只能用于switch语句体中
B、continue语句的作用是使程序的执行流程跳出包含它的所有循环
C、break语句只能用在循环体内和switch语句体内
D、在循环体内使用break语句和continue语句的作用相同
(  C  )
2、有以下程序
#include <stdio.h>
main()
{
int a[]={2,3,5,4},i;
for(i=0;i<4;i++)
switch(i%2)
{
case 0: switch(a[i]%2)
{
case 0:a[i]++;
break;
case 1:a[i]--;
}
break;
case 1:a[i]=0;
}
for(i=0;i<4;i++) printf("%d ",a[i]);
printf("\n");
}
程序运行后的输出结果是________。
A、3 3 4 4
B、2 0 5 0
C、3 0 4 0
D、0 3 0 4
(  B  )
3、下面程序的输出结果是 __________.
#include<stdio.h>
void main( )
{
int x=3;
do
{
printf("%d ",x-=2);
}
while(!(--x));
}
A、1
B、1 -2
C、3 0
D、是死循环
(  B  )
4、t为int类型,进入下面的循环之前,t的值为0。while(t=1) {...}则以下叙述中,正确的是________。
A、循环控制表达式的值为0
B、循环控制表达式的值为1
C、循环控制表达式不合法
D、以上说法都不对
(  B  )
5、若变量已正确定义,要求程序段完成求5!的计算,不能完成此操作的程序段是________。
A、for(i=1,p=1;i<=5;i++) p*=i;
B、for(i=1;i<=5;i++) { p=1; p*=i; }
C、i=1;p=1; while(i<=5) { p*=i; i++ };
D、i=1;p=1;do { p*=i; i++; } while(1<=5)
(  D  )
6、有以下程序
#include<stdio.h>
main ()
{
int i, n;
for (i = 0; i < 8; i++)
{
n = rand () % 5;
switch (n)
{
case 1:
case 3:
printf ("%d\n", n);
break;
case 2:
case 4:
printf ("%d\n", n);
continue;
case 0:
exit (0);
}
printf ("%d\n", n);
}
}
以下关于程序执行情况的叙述,正确的是______。
A、for循环语句固定执行8次
B、当产生的随机数n为4时结束循环操作
C、当产生的随机数n为1和2时不做任何操作
D、当产生的随机数n为0时结束程序运行
(  B  )
7、以下程序的功能是计算s=1+12+123+1234+12345。
#include <stdio.h>
main()
{
int t=0,s=0,i;
for(i=1;i<=5;i++) {
t=i+_____;
s=s+t;
}
printf("s=%d\n",s);
}
则______部分是________。
A、t
B、t*10
C、t*100
D、t+10
(  A  )
8、以下关于continue语句的描述中正确的是________。
A、continue语句只能用于循环中
B、continue语句只能用于switch语句中
C、continue语句可用于循环和switch语句中
D、以上说法都不正确
(  C  )
9、以下是死循环的程序段是________。
A、for(i=1; ; )if(++i%2==0) continue;if(++i%3==0) break;}
B、i=32767;do{if(i<0) break;}while(++i);
C、for(i=1; ; ) if(++i<10) continue;
D、i=1;while(i--);
(  C  )
10、以下描述正确的是________。
A、goto 语句只能用于退出多层循环。
B、switch 语句中不能出现continue 语句。
C、只能用continue 语句来中止本次循环。
D、在循环中break 语句不能独立出现。

四、数组/指针数组 (共10题,每题1分,共计10分)

(  B  )
1、以下能正确定义二维数组的是________。
A、int a[][3];
B、int a[][3]={2*3};
C、int a[][3]={};
D、int a[2][3]={{1},{2},{3,4}};
(  C  )
2、下述对c语言字符数组的描述中错误的是________。
A、字符数组可以存放字符串.
B、字符数组中的字符串可以整体输入、输出.
C、可以在赋值语句中通过赋值运算符"="对字符数组整体赋值.
D、不可以用关系运算符对字符数组中的字符串进行比较.
(  C  )
3、以下不能对二维数组a进行正确初始化的语句是________。
A、int a[2][3]={0};
B、int a[][3]={{1,2},{0}};
C、int a[2][3]={{1,2},{3,4},{5,6}};
D、int a[][3] = {1,2,3,4,5,6}
(  C  )
4、对二维数组的正确定义是________。
A、int a[ ] [ ]={1,2,3,4,5,6};
B、int a[2] [ ]={ 1,2,3,4,5,6};
C、int a[ ] [3]={1,2,3,4,5,6};
D、int a[2,3]={1,2,3,4,5,6};
(  C  )
5、若有以下说明 : char s1[ ]={"tree"
} ,s2[]={"flower"};, 则以下对数组元素或数组的输出语句中 , 正确的是 _______ .
A、printf("%s%s",s1[5],s2[7]);
B、printf("%c%c",s1,s2);
C、puts(s1);puts(s2);
D、puts(s1,s2);
(  A  )
6、在c语言中,若函数调用时实参是数组名,则传递给对应形参的是______。
A、数组空间的首地址
B、数组的第一个元素值
C、数组中元素的个数
D、数组中所有的元素
(  B  )
7、设p1和p2是指向同一个int型一维数组的指针变量,k为int型变量,则不能正确执行的语句是________。
A、k=* p1+ * p2
B、p2=k;
C、p1=p2;
D、k=* p1 * (* p2);
(  C  )
8、下面程序的输出结果是________。
#include<stdio.h>
main() {
char a[]='a','b','c','d','f','g',*p;
p=a;
printf("%c\n",*p+4);
}
A、a
B、b
C、e
D、f
(  D  )
9、以下关于排序算法的叙述中,正确的是________。
A、冒泡排序法中,元素的交换次数与元素的比较次数一定相同
B、冒泡排序法中,元素的交换次数不少于元素的比较次数
C、简单选择排序中,关键字相同的记录在排序前后的相对位置一定不变
D、简单选择排序中,关键字相同的记录在排序前后的相对位置可能交换
(  A  )
10、若有如下定义和语句,且 0<=i<5,下面( )是对数值为 3 数组元素的引用
int a[]={1,2,3,4,5},*p,i;
p=a;
A、*(a+2)
B、a[p-3]
C、p+2
D、a+3

五、字符串/字符串指针 (共10题,每题1分,共计10分)

(  B  )
1、c语言中,下列不合法的字符串常量是________。
A、”\121”
B、'y='
C、”\n\n”
D、”ABCD\x6d”
(  C  )
2、以下叙述中不正确的是________。
A、空字符串(即两个双引号连写)只占一个存储单元
B、字符型常量可以放在字符型变量中
C、字符型常量可以放在字符串变量中
D、字符型常量可以与整数混合运算,而字符串常量不可以
(  A  )
3、下列字符串是标识符的是: 。
A、_HJ
B、9_student
C、long
D、LINE 1
(  B  )
4、有以下程序
#include<stdio.h>
main()
{
char s[]="012xy\08s34f4w2";
int i, n=0;
for(i=0; s[i]!=0; i++) if(s[i]>='0'&&s[i]<='9') n++;
printf("%d\n", n);
}
程序运行后的输出结果是______。
A、0
B、3
C、7
D、8
(  C  )
5、下列选项中,表示字符串末尾的结束标志是________。
A、'\n'
B、'\r'
C、'\0'
D、NULL
(  B  )
6、宏定义用于将一个标识符定义为一个
A、常量
B、字符串
C、整数
D、长整数
(  A  )
7、下面不正确的字符串常量是________。
A、'abc'
B、"12'12"
C、"0"
D、" "
(  B  )
8、下列数据中属于"字符串常量"的是________。
A、ABC
B、"ABC"
C、'ABC'
D、'A'
(  A  )
9、下面程序段输出两个字符串中对应相等的字符。请分析程序填空。
char x[]="programming";
char y[]="fortran";
int i=0;
while (x[i]!='\0'&&y[i]!='\0')
if (x[i]==y[i]) printf("%c", _____);
else i++;
A、x[i++]
B、y[++i]
C、x[i]
D、y[i]
(  A  )
10、char a[]="This is a program.";输出前 5 个字符的语句是()。
A、printf("%.5s",a);
B、puts(a);
C、printf("%s",a);
D、a[5*2]=0;puts(a);

六、函数/函数指针 (共10题,每题1分,共计10分)

(  D  )
1、以下叙述中不正确的是________。
A、在不同的函数中可以使用相同名字的变量
B、函数中的形式参数是局部变量
C、在一个函数内定义的变量只在本函数范围内有效
D、在一个函数内的复合语句中定义的变量在本函数范围内有效
(  B  )
2、在一个c语言程序中,________。
A、main函数必须出现在所有函数之前
B、main函数可以在任何地方出现
C、main函数必须出现在所有函数之后
D、main函数必须出现在固定位置
(  C  )
3、每个c程序中都必须有且仅有一个________。
A、类
B、预处理命令
C、主函数
D、语句
(  D  )
4、下列关于函数参数的叙述中,正确的是________。
A、在函数原型中不必声明形参类型
B、函数的实参和形参共享内存空间
C、函数形参的生存期与整个程序的运行期相向
D、函数的形参在函数被调用时获得初始值
(  A  )
5、c程序的执行是从( )开始执行的
A、main函数
B、程序的第一行
C、<iostream.h>
D、<stdio.h>
(  B  )
6、以下叙述中正确的是________。
A、在函数中必须要有return语句
B、在函数中可以有多个return语句,但只执行其中的一个
C、return语句中必须要有一个表达式
D、函数值并不总是通过return语句传回调用处
(  A  )
7、以下叙述中正确的是______。
A、函数既可以直接调用自己,也可以间接调用自己
B、任何情况下都不能用函数名作为实参
C、函数的递归调用不需要额外开销,所以效率很高
D、简单递归不需要明确的结束递归的条件
(  A  )
8、下面程序的输出结果是________。
# include <stdio.h> int x=1;
void main()
{
int x=2;
printf("%d,",x);
if(x==1)
{
int x=4;
printf("%d,",x++);
}
printf("%d",x++);
}
A、2,2
B、1,1,2
C、2,4,3
D、2,3
(  B  )
9、以下程序中调用scanf函数给变量a输入数值的方法是错误的,其错误原因是________。
main()
{
int *p,*q,a,b;
p=&a;
printf("input a:");
scanf("%d",*p);
}
A、*p表示的是指针变量p的地址
B、*p表示的是变量a的值,而不是变量a的地址
C、*p表示的是指针变量p的值
D、*p只能用来说明p是一个指针变量
(  A  )
10、以下叙述正确的是________。
A、C 程序总是以 main()作为程序执行的起始行
B、main()函数若不带参数,其后面的一对圆括号可省略
C、函数体内的定义语句和可执行语句允许任意交替出现
D、C 语言中的语句之间必须用分号作为分隔符

七、指针 (共10题,每题1分,共计10分)

(  A  )
1、设int a[10],*p=a; 数组元素a[4]的正确引用是________。
A、*(p+4)
B、p+4
C、*p+4
D、a+4
(  D  )
2、在下面的字符数组定义中,哪一个有语法错误 。
A、char a[20]=“abcdefg”;
B、char a[]=“x+y=55.”;
C、chara[15];
D、char a[10]=‘5’;
(  D  )
3、以下叙述不正确的是________。
A、一个C源程序可由一个或多个函数组成
B、一个C源程序必须包含一个main函数
C、C程序的基本组成单位是函数
D、在C程序中,注释说明只能位于一条语句的后面
(  D  )
4、设有语句: x=inputbox("输入数值","0","示例") 程序运行后,如果从键盘上输人数值10并按回车键,则下列叙述中正确的是______。
A、变量x的值是数值10
B、在InputBox对话框标题栏中显示的是“示例”
C、0是默认值
D、变量x的值是字符串“10”
(  B  )
5、某一维数组中依次存放了数据元素12,23,30,38,41,52,54,76,85,在用折半(二分)查找方法(向上取整)查找元素54时,所经历"比较"运算的数据元素依次为________。
A、41, 52, 54
B、41, 76, 54
C、41, 76, 52, 54
D、41, 30, 76, 54
(  C  )
6、若定义了以下函数:
void f(……)
{
……*p=(double*)malloc(10*sizeof(double));
……
}
p是该函数的形参,要求通过p把动态分配存储单元的地址传回主调函数,则形参p的正确定义应当是______。
A、double *p
B、float **p
C、double **p
D、float *p
(  D  )
7、下列关于函数的调用方式,说法不正确的是________?
A、可以将函数作为表达式调用
B、可以将函数作为语句调用
C、可以将函数作为实参调用
D、以上选项都错误
(  D  )
8、对于 if(表达式)语句,以下说法正确的是________。
A、“表达式”的值只能是整数值
B、在“表达式”中不能调用返回整数的函数
C、在“表达式”中不能含有函数调用
D、“表达式”可以是算术表达式
(  A  )
9、下面程序的功能是将字符串s 中所有的字符'c'删除。
#include "stdio.h"
main()
{
char s[80];
int i,j;
gets(s);
for (i=j=0;s[i]!='\0';i++)if (s[i]!='c') ;
s[j]='\0';
puts(s);
}
A、s[j++]=s[i]
B、s[++j]=s[i]
C、s[j]=s[i];j++
D、s[j]=s[i]
(  A  )
10、C语言程序中,当调用函数时()。
A、实参和形参各占一个独立的存储单元
B、实参和形参可以共用存储单元
C、可以由用户指定是否共用存储单元
D、计算机系统自动确定是否共用存储单元

八、结构体 (共10题,每题1分,共计10分)

(  C  )
1、有以下程序
typedef struct
{
char name[9];
char sex;
float score [2];
} stu;
stu f(stu a) {
stu b={"zhao", 'm', 85.0, 90.0};
int i;
strcpy(a.name, b.name);
a.sex=b.sex:;
for(i=0;i<2;i++) a.score[i]=b.score[i];
return a:
}
main() {
stu c=
{
"qian", 'f', 95.0, 92.0
};
stu d=f(c);
printf("%s, %c, %2.0f, %2.0f", d.name, d.sex, d.score[0], d.score[1]); ) 程序的运行结果是________。
A、Qian,f,95,92
B、Qian,m,85,90
C、Zhao,m,85,90
D、Zhao,f,95,92
(  D  )
2、有以下定义和语句
struct workers
{
int num;
char name[20];
char c;
srruct
{
int day;
int month;
int year;
}
s;
};
struct workers w,*pw;
pw=&w 能给w 中year 成员赋1980 的语句是________。
A、*pw.year=1980;
B、w.year=1980;
C、pw->year=1980;
D、w.s.year=1980;
(  B  )
3、若有下列说明和语句,则对结构体变量st中成员i的引用方式不正确的是________。
struct stu
{
int i;
int name;
} st,*p;
p=&st;
A、si
B、*i
C、(*.i
D、p->i
(  C  )
4、以下对结构体类型变量的定义中,不正确的是________。
A、typedef struct aa {
int n;
float m;
} AA;
AA tdl;
B、#define AA struct aa AA{
int n;
float m;
} tdl;
C、struct {
int n;
float m;
} aa;
struct aa tdl;
D、struct {
int n;
float m,
} tdl;
(  C  )
5、以下程序的输出结果是
#include<stdio.h>
struct st
{
int x;
int *y;
}
*p;
int dt[4]= {10,20,30,40 };
struct st aa[4]={50,&dt[0],60,&dt[0],60,&dt[0],60,&dt[0],};
main()
{
p=aa;
printf("%d\n",++(p->x));
}
A、10
B、11
C、51
D、60
(  B  )
6、设有以下说明语句:
struct stu
{
int a;
float b;
}
suttype;
则下面叙述不正确的是________。
A、struct是结构体类型的关键字
B、struct stu是用户定义的结构体类型
C、suttype是用户定义的结构体类型名
D、a和b都是结构体成员
(  D  )
7、有如下定义: struct student
{
char name[10];
int age;
char gender;
}
std[3], *p=std;
则以下各输入语句中错误的是________。
A、scanf("%d",&(*p).age);
B、scanf("%c",&std[0].gender);
C、scanf("%c",&(p->gender));
D、scanf("%s",&std.name);
(  D  )
8、以下叙述中正确的是________。
A、即使是同类型的结构体变量,也不能进行整体赋值
B、结构体变量的地址不能作为实参传给函数
C、结构体数组名不能作为实参传给函数
D、结构体中可以含有指向本结构体的指针成员
(  A  )
9、在下列程序段中,枚举变量c1,c2的值依次是________。
enum color
{
red,
yellow,
blue=4,
green,
white
}
c1,c2;
c1=yellow;
c2=white;
printf("%d,%d\n",c1,c2);
A、1,6
B、2,5
C、1,4
D、2,6
(  A  )
10、定义共用体的关键字是________。
A、union
B、enum
C、struct
D、typedef

九、程序题 (共10题,每题1分,共计10分)

(  C  )
1、有以下程序
#include <stdio.h>
int main()
{
int a = 1, b = 2, c = 3, d = 0;
if (a == 1 && b++ == 2)
if (b != 2 || c-- != 3)
printf("%d,%d,%d\n", a, b, c);
else
printf("%d,%d,%d\n", a, b, c);
else
printf("%d,%d,%d\n", a, b, c);
}
程序运行后的输出结果是________。
A、1,2,3
B、1,3,2
C、1,3,3
D、3,2,1
(  C  )
2、有以下程序
# define f(x) (x*x)
main()
{
int i1, i2;
i1=f(8)/f(4) ;
i2=f(4+4)/f(2+2) ;
printf("%d, %d\n",i1,i2);
}
程序运行后的输出结果是________。
A、64, 28
B、4, 4
C、4, 3
D、64, 64
(  A  )
3、有以下程序
#define f(x) x*x
main( )
{
int i;
i=f(4+4)/f(2+2);
printf("%d\n",i);
}
执行后输出结果是________。
A、28
B、22
C、16
D、4
(  C  )
4、有以下程序
#include <string.h>
main()
{
char str[][20]={"hello","beijing"},*p=str;
printf("%d\n",strlen(p+20));
}
程序运行后的输出结果是________。
A、0
B、5
C、7
D、20
(  A  )
5、有程序:
void 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",z,y,x);
}
输出结果是________。
A、30,20,10
B、10,20,30
C、456,567,678
D、678,567,456
(  B  )
6、有如下程序
main( )
{
int n=8;
while(n>6)
{
n--;
printf("%d",n);
}
}
该程序段的输出结果是______。
A、98
B、76
C、87
D、78
(  A  )
7、有以下程序段int m=0,n=0;
char c='a';
scanf("%d%c%d",&m,&c,&n);
printf("%d,%c,%d\n",m,c,n);
若从键盘上输入:20b20↙,则输出结果是______。
A、20,B,20
B、20,b,20
C、20,b,0
D、20,B,0
(  D  )
8、下面程序
main()
{
int x=32;
printf("%d\n",x=x<<1);
}
的输出是______。
A、100
B、160
C、320
D、64
(  B  )
9、下述程序段的运行结果是________。
main( )
{
static int a[3][3]={{1,2,3},{4,5,6},{7,8,9}};
int b[3][2],i,j;
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
b[i][j]=a[j][i]+a[i][j];
printf(''%5d'',b[i][j]);
}
printf(''\n'');
}
}
18
A、2 4 7
B、2 6 10
C、18 14 10
D、18 2 3
(  D  )
10、以下程序的运行结果是________。
main()
{
int i=1,sum=0;
while(i<10) sum=sum+1;
i++;
printf("i=%d,sum=%d",i,sum);
}
A、i=10,sum=9
B、i=9,sum=9
C、i=2,sum=1
D、运行出现错误