佛山科学技术学院2022年C语言

本试卷为佛山科学技术学院2022年C语言,题目包括:理论基础,控制结构,循环结构,数组/指针数组,字符串/字符串指针,函数/函数指针,指针,结构体,程序题。

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

C语言

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

(  A  )
1、下列运算符中优先级最高的算符是________。
A、!
B、%
C、-=
D、&&
(  D  )
2、设有语句int a=3; 则执行了语句a+=a-=a*a; 后,变量a的值是________。
A、3
B、0
C、9
D、-12
(  D  )
3、表达式3.6-5/2+1.2+5%2的值是________。
A、4.3
B、4.8
C、3.3
D、3.8
(  C  )
4、以下选项中可作为c语言合法整数的是________。
A、10110B
B、0386
C、0Xffa
D、x2a2
(  B  )
5、下列字符中,ascii码值最小的是________。
A、a
B、A
C、x
D、Y
(  A  )
6、下列内容是异常的含义的是________。
A、程序编译或运行中发生的异常事件
B、程序的语法错误
C、程序编译错误
D、程序预先定义好的异常事件
(  D  )
7、设int b=2; 表达式(b<<2)/(b>>1)的值是________。
A、2
B、4
C、6
D、8
(  B  )
8、下列关于c语言用户标识符的叙述中正确的是________。
A、用户标识符中可以出现下划线和中划线(减号)
B、用户标识符中不可以出现中划线,但可以出现下划线
C、用户标识符中可以出现下划线,但不可以放在用户标识符的开头
D、用户标识符中可以出现下划线和数字,它们都可以放在用户标识符的开头
(  A  )
9、下列属于条件运算符的是________。
A、:
B、&&
C、>>
D、+
(  C  )
10、以下选项中正确的定义语句是______。
A、double a;b;
B、doubla=b=7;
C、double a=7,b=7;
D、double,a,b;
(  B  )
11、下列叙述中正确的是________。
A、在赋值表达式中,赋值号的左边既可以是变量,也可以是任意表达式
B、实型变量中允许存放整型数
C、若a和b类型相同,在执行了赋值a=b后,b中的值将放入a中,但b中的值不变
D、在c程序中,求余运算符“%”两边的类型相同时才能进行运算
(  B  )
12、若有运算符<<,sizeof,^,&=,则它们按优先级由高至低的正确排列次序是________。
A、sizeof,&=,<<,^
B、sizeof,<<,^,&=
C、^,<<,sizeof,&=
D、<<,^,&=,sizeof
(  A  )
13、设变量 m 为 float 类型,变量 n 为 int 类型,则以下能实现将 m 中的数值保留小数点后两位,第三位进行四舍五入运算的表达式是________。
A、n=m*100+0.5, m=n/100.0
B、m=(m*100+0.5)/100.0
C、n=m/100+0.5, m=n*100.0
D、m=m*100+0.5/100.0
(  D  )
14、在c语言程序中,注释部分从哪开始,到哪结束?()
A、从"("开始到")"结束
B、从REM开始无结束标志
C、无起始标志
D、从"/*"开始,"*/"结束
(  B  )
15、设ch是char型变量,其值为c,且有下面的表达式ch=(ch>='a'&&ch<='z')?(ch+32):ch上面表达式的值是______。
A、C
B、c
C、Z
D、z
(  C  )
16、空语句仅有一个 ▁▁▁▁▁ 的语句称为空语句。
A、逗号( , )
B、句号( . )
C、分号( ; )
D、冒号( : )
(  B  )
17、以下选项中合法的用户标识符是______。
A、float
B、name1
C、3Dmax
D、B.dat
(  C  )
18、下列关于指针变量的描述,不正确的是________。
A、在没有对指针变量赋值时,指针变量的值是不确定的
B、同类指针类型可以进行相减操作
C、在使用没有赋值的指针变量时,不会出现任何问题
D、可以通过指针变量来取得它指向的变量值
(  A  )
19、下列两条语句"
int c1=1,c2=2,c3;
c3=1.0/c2*c1;
"执行后变量c3的值是________。
A、0
B、0.5
C、1
D、2
(  C  )
20、c 语言提供的基本数据类型关键字是________。
A、integer
B、FLOAT
C、unsigned
D、Double

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

(  D  )
1、当把以下四个表达式用作if语句的控制表达式时,有一个选项与其它三个选项含义不同,这个选项是________。
A、k%2
B、k%2==1
C、(k%2)!=0
D、!k%2==1
(  A  )
2、若a是数值类型,则逻辑表达式(a==1)||(a!=1)的值是________。
A、1
B、0
C、2
D、不知道a的值,不能确定
(  C  )
3、设变量a、b、c、d和y都已正确定义并赋值。若有以下if语句: if(a<b) if(c==d)y=0; else y=1; 该语句所表示的含义是________。
A、y=0,a
y=1,a≥b
B、y=0,a
y=1,a≥b且c≠d
C、y=0,a
y=1,a<B且C≠D
D、y=0,a
y=1,c≠d
(  C  )
4、关于结构化程序设计原则和方法的描述错误的是________。
A、选用的结构只准许有一个入口和一个出口
B、复杂结构应该用嵌套的基本控制结构进行组合嵌套来实现
C、不允许使用GOTO语句
D、语言中若没有控制结构,应该采用前后一致的方法来模拟
(  C  )
5、当从键盘上输入字符"12134211"下面程序的 输出结果是________。
main( )
{
char s;
int v1=0,v2=0,v3=0,v4=0,k;
for(k=0;k<=7;k++)
{
scanf("%c",&s);
switch(s)
{
default: v4++;
case '1': v1++;
case '3': v3++;
case '2': v2++;
}
}
printf("v1=%d,v2=%d,v3=%d,v4=%d\n",v1,v2,v3,v4);
}
A、v1=4,v2=2,v3=1,v4=1
B、v1=4,v2=9,v3=3,v4=1
C、v1=5,v2=8,v3=6,v4=1
D、v1=8,v2=8,v3=8,v4=8
(  C  )
6、有以下定义语句: double a,b; int w; long c; 若各变量已正确赋值,则下列选项中正确的表达式是________。
A、a=a+b=b++
B、w%((int)a+b)
C、(c+w)%(int)a
D、w=a==b
(  B  )
7、下列表达式为关系表达式的为_________。(其中a为一整型变量)
A、3+4*5
B、a==10
C、a>0a:-a
D、a=1
(  A  )
8、若x和y是程序中的两个整型变量,则下列if语句中正确的是________。
A、if(x==0) y=1; else y=2;
B、if(x==0) then y=1 else y=2;
C、if(x==0) y=1 else y=2;
D、if x==0 y=1; else y=2;
(  B  )
9、以下叙述中正确的是________。
A、在 C 语言中,逻辑真值和假值分别对应 1 和 0
B、关系运算符两边的运算对象可以是语言中任意合法的表达式
C、对于浮点变量 x 和 y,表达式:x==y 是非法的,会出编译错误
D、分支结构是根据算术表达式的结果来判断流程走向的
(  D  )
10、在c语言中,if语句后的一对原括号中,用以决定分支的流程的表 达式________。
A、只能用逻辑表达式
B、只能用关系表达式
C、只能用逻辑表达式或关系表达式
D、可用任意表达式

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

(  A  )
1、下列语句中,可以作为无限循环语句的是________。
A、for(;;)
B、for(int i=0;i<10000;i++)
C、while(false)
D、do)while(false)
(  A  )
2、下列关于宏操作的叙述错误的是________。
A、do-while的循环体至少无条件执行一次
B、while的循环控制条件比do-while的循环控制条件更严格
C、do-while允许从外部转到循环体内
D、do-while的循环体不能是复合语句
(  D  )
3、下列叙述中正确的是________。
A、break语句只能用于switch语句
B、在switch语句中必须使用default
C、break语句必须与switch语句中的case配对使用
D、在switch语句中,不一定使用break语句
(  B  )
4、t为int类型,进入下面的循环之前,t的值为0。while(t=1) {...}则以下叙述中,正确的是________。
A、循环控制表达式的值为0
B、循环控制表达式的值为1
C、循环控制表达式不合法
D、以上说法都不对
(  D  )
5、有以下程序:
#include<stdio.h>
main()
{
int x=8;
for(;x>0;x--)
{
if(x%3)
{
printf("%d,",x--);
continue;
}
printf("%d,",--x);
}
}
程序的运行结果是______。
A、7,4,2
B、8,7,5,2
C、9,7,6,4
D、8,5,4,2
(  D  )
6、若有int x=1;
,执行下列程序段后,变量x的正确结果是________。
switch (x*10)
{
case 9: x+=1;
break;
case 10: x+=1;
case 11: x+=1;
default: x+=1;
}
A、1
B、2
C、3
D、4
(  D  )
7、下列语句哪些不属于循环语句?
A、for
B、while
C、do while
D、if
(  B  )
8、设有声明语句:int a=1,b=0;
则执行以下语句后输出()
switch (a)
{
case 1:switch (b)
{
case 0: printf(""**0**"");
break;
case 1: printf(""**1**"");
break;
}
case 2: printf(""**2**"");
break;
}
A、**0**
B、**0****2**
C、**0****1****2**
D、有语法错误
(  D  )
9、下列程序的输出为________。
main()
{
int y=10;
while(y--);
printf("y=%d\n",y);
}
A、y=0
B、while构成无限循环
C、y=1
D、y=-1
(  B  )
10、以下程序的输出结果是________。 。
main()
{
int x=1,y=0,a=1,b=1;
switch(x)
{
case 1:switch(y)
{
case 0:a++;
break;
case 1:b++;
break;
}
case 2:a++;
b++;
break;
}
printf("%d,%d\n",a,b);
}
A、2,1
B、3,2
C、2,3
D、3 2

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

(  A  )
1、在c语言中对于实型数组,其每个数组元素的类型是________。
A、实型
B、整型
C、可以为任何类型
D、不确定
(  C  )
2、以下对二维数组a的正确说明是________。
A、int a[3][]
B、float a(3,4)
C、double a[1][4]
D、float a(3)(4)
(  B  )
3、已知char x[]="hello", y[]={ 'h','e','a','b','e' }; 则关于两个数组长度的正确描述是________。
A、相同
B、x大于y
C、x小于y
D、以上答案都不对
(  C  )
4、以下一维数组 a 的正确定义是 __________ .
A、int n=10,a[n];
B、int n;
C、#define SIZE 10
scanf("%d",&n); int a[SIZE];
int a[n];
D、int a(10);
(  C  )
5、若函数调用时用数组名作为函数参数,以下叙述中,不正确的是 __________.
A、实参与其对应的形参共占用同一段存储空间
B、实参将其地址传递给形参,结果等同于实现了参数 之间的双向值传递
C、实参与其对应的形参分别占用不同的存储空间
D、在调用函数中必须说明数组的大小,但在被调函数中可以使用不定尺寸数组
(  B  )
6、以下能对二维数组a进行正确初始化的语句是________。
A、int a[2][]={{(1,0,1},{5,2,3}};
B、int a[][3]={{1,2,3},{ 4,5,6}};
C、int a[2][4]={{ 1,2,3},{ 4,5},{6}};
D、int a[][3]={{1,0,1},{},{1,1}};
(  A  )
7、若定义static int a[2][2]={1,2,3,4 },则a数组的各数组元素分别为______。
A、a[0][0]=1、a[0][1]=2、at[1][0]=3、a[1][1]=4
B、a[0][0]=1、a[0][1]=3、a[1][0]=2、a[1][1]=4
C、a[0][0]=4、a[0][1]=3、a[1][0]=2、s[1][1]=1
D、a[0][0]=4、a[0][1]=2、a[1][0]=3、a[1][1]=1
(  C  )
8、假定a为一个整型数组名,则元素a[4]的字节地址为
A、a+4
B、a+8
C、a+16
D、a+32
(  A  )
9、以下叙述中正确的是______。
A、不能用字符串常量对字符数组名进行整体赋值操作
B、字符串常量"Hello"会被隐含处理成一个无名字符型数组,它有5个元素
C、char str[7]="string!";在语法上是合法的,运行也是安全的
D、char *str;str="Hello";与char str[];str="Hello";效果是一样的
(  B  )
10、数组定义为 int a[3][2]={ 1, 2, 3, 4, 5, 6 },数组元素( )的值为6。
A、a[3][2]
B、a[2][1]
C、a[1][2]
D、a[2][3]

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

(  B  )
1、c语言中,下列不合法的字符串常量是________。
A、”\121”
B、'y='
C、”\n\n”
D、”ABCD\x6d”
(  D  )
2、以下关于字符串的叙述中正确的是________。
A、c语言中有字符串类型的常量和变量
B、两个字符串中的字符个数相同时才能进行字符串大小的比较
C、可以用关系运算符对字符串的大小进行比较
D、空串一定比空格打头的字符串小
(  A  )
3、下列字符串是标识符的是________。
A、aa
B、a-class
C、int
D、LINE 1
(  D  )
4、以下正确的字符串常量是________。
A、“╲╲╲”
B、‘abc’
C、Olympic
D、**
(  B  )
5、设宏定义#define PI 3.1415926,用宏名PI替换的是________。
A、算术表达式
B、字符串
C、单精度实型数
D、双精度实型数
(  A  )
6、下列哪个是c语言的有效标识符
A、_Nol
B、No.1
C、12345
D、int
(  C  )
7、以下能将字符串,you are luck!正确读入的语句组是________。
A、char s[80]; scanf("%s",s);
B、char *s: scanf("%s",s);
C、char s[80]; gets(s);
D、char *s; gets(3);
(  C  )
8、下列表达式中,类型可以作为int型的是________。
A、"abe"+"efg"
B、"abc"+"efg"
C、'a'+'b'
D、3+"4"
(  A  )
9、下面不能正确进行字符串赋值操作的语句是________。
A、char s[5]={"ABCDE"};
B、char s[5]={'A','B','C','D','E'};
C、char *s;s="ABCDEF";
D、char *s; scanf("%s",s);
(  C  )
10、判断两个字符串是否相等,正确的表达方式是
A、s1==s2
B、s1=s2
C、strcmp(s1,s2)==0
D、strcmp(s1,s2)=0

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

(  C  )
1、设有说明double(*p1)[n]; 其中标识符p1是________。
A、N个指向double型变量的指针。
B、指向N个double型变量的函数指针。
C、一个指向由N个double型元素组成的一维数组的指针。
D、具有N个指针元素的一维指针数组,每个元素都只能指向double型量。
(  B  )
2、下列关于模板形参的描述中,错误的是________。
A、模板形参表必须在关键字template之后
B、模板形参表必须用括弧( )括起来
C、可以用class修饰模板形参
D、可以用typename修饰模板形参
(  A  )
3、以下程序运行后的输出结果是
#include <stdio.h>
void fun(int a,int b) {
int t;
t=a;
a=b;
b=t;
}
main( ) {
int c[10]=1,2,3,4,5,6,7,8,9,0,i;
for(i=0;i<10;i+=2) fun(c[i],c[i+1]);
for(i=0;i<10;i++) prinff("%d,",c[i]);
printf("\n");
}
A、1,2,3,4,5,6,7,8,9,0
B、2,1,4,3,6,5,8,7,0,9
C、0,9,8,7,6,5,4,3,2,1
D、0,1,2,3,4,5,6,7,8,9
(  B  )
4、有以下程序: fun(int x,int y)
{
static int m=0, i=2;
i+=m+1;
m=i+x+y;
return m;
}
main()
{
int j=1,m=1,k;
k=fun(j,m);
printf("%d,"k);
k=fun(j,m);
printf("%d\n",k);
}
执行后的输出结果是________。
A、5,5
B、5,11
C、11,11
D、11,5
(  A  )
5、以下程序的输出结果是 long fun(int n) {
long s;
if(n==1||n==2)s=2;
else s=n-fun(n-1);
return s;
}
main() {
printf("%ld\n",fun(3));
}
A、1
B、2
C、3
D、4
(  B  )
6、设c1,c2均是char类型变量,则不正确的函数调用为______。
A、printf("%c,%c,",c1,c2)
B、getchar(c1)
C、putchar('\')
D、putchar(c1)
(  D  )
7、若有定义:char*x="abcdefghi"; 以下选项中正确运用了strcpy函数的是______。
A、char y[10];strcpy(y,x[4]);
B、char y[10];strcpy(++y,&x[1]);
C、char y[10],*s;strcpy(s=y+5,x);
D、char y[10],*s;strcpy(s=y+1,x+1);
(  A  )
8、对于以下递归函数f,调用f(4),其返回值为()
int f(int n)
{
if (n) return f(n - 1) + n;
else return n;
}
A、10
B、4
C、0
D、以上均不是________。
(  C  )
9、对c语言程序,以下说法正确的是________。
A、main 函数是主函数,一定要写在最前面。
B、所有的自定义函数,都必须先声明。
C、程序总是从main 函数开始执行的。
D、程序中只能调用库函数,不能自己定义函数。
(  C  )
10、c语言规定,在一个源程序中,main函数的位置________。
A、必须在最开始
B、必须在其他函数的后面
C、可以任意
D、必须在最后

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

(  C  )
1、以下正确的函数定义形式是________.
A、double fun(int x,int y)
B、double fun(int x; int y)
C、double fun(int x, int y);
D、double fun(int x,y);
(  B  )
2、有以下程序
main()
{
char p[]={'a', 'b', 'c'} , q[10]={'a', 'b', 'c'} ;
printf("%d %d\n", strlen(p), strlen(q));
}
以下叙述中正确的是________。
A、在给p和q数组置初值时,系统会自动添加字符串结束符,故输出的长度都为3
B、由于p数组中没有字符串结束符,长度不能确定;但q数组中字符串长度为3
C、由于q数组中没有字符串结束符,长度不能确定;但p数组中字符串长度为3
D、由于p和q数组中都没有字符串结束符,故长度都不能确定
(  D  )
3、设有宏定义:#define IsDIV(k,n) ((k%n==1)?1:0)且变量m已正确定义并赋值,则宏调用:IsDIV(m,5)&& IsDIV(m,7)为真时所要表达的是________。
A、判断m是否能被5或者7整除
B、判断m是否能被5和7整除
C、判断m被5或者7整除是否余1
D、判断m被5和7整除是否都余1
(  C  )
4、下面正确的函数定义形式为________。
A、void fun();{}
B、void fun(int x;int {}
C、void fun() {}
D、void fun(int x, {}
(  B  )
5、下列关于数组的描述正确的是________。
A、数组的长度是固定的,而其中元素的数据类型可以有不同
B、数组的长度是固定的,而其中元素的数据类型必须相同
C、数组的长度是可变的,而其中元素的数据类型可以有不同
D、数组的长度是可变的,而其中元素的数据类型必须相同
(  A  )
6、有以下程序
#include<string.h>
main()
{
char p[]={'a','b','c'},q[10]={'a','b','c'};
printf("%d%d\n",strlen(p),strlen(q));
}
以下叙述中正确的是________。
A、在给p和q数组置初值时,系统会自动添加字符串结束符,故输出的长度都为3
B、由于p数组中没有字符串结束符,长度不能确定,但q数组中字符串长度为3
C、由于q数组中没有字符串结束符,长度不能确定,但p数组中字符串长度为3
D、由于p和q数组中都没有字符串结束符,故长度都不能确定
(  D  )
7、已定义以下函数int fun( int *p)
{
return *p;
}
则fun函数返回值足
A、不确定的值
B、一个整数
C、形参p中存放的值
D、形参p的地址值
(  A  )
8、设变量定义为"int x, *p=&x;
",则&(*p)相当于
A、p
B、*p
C、x
D、*(&x)
(  A  )
9、下列数组说明中,正确的是()。
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  )
10、以下叙述中正确的是()。
A、构成. C程序的基本单位是函数
B、可以在一个函数中定义另一个函数
C、main()函数必须放在其它函数之前
D、所有被调用的函数一定要在调用之前进行定义

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

(  B  )
1、若有以下语句:
typedef struct s
{
int g;
char h;
} t;
以下叙述中正确的是________。
A、可用S定义结构体变量
B、可用T定义结构体变量
C、S是struct类型的变量
D、T是struct S类型的变量
(  B  )
2、c语言中的基本数据类型是________。
A、整型、浮点型、逻辑型、无值型和类类型
B、整型、字符型、浮点型、无值型和逻辑型
C、整型、浮点型、字符型、逻辑型和枚举型
D、整型、浮点型、逻辑型、无值型和指针型
(  A  )
3、下列选项中不属于c语言的数据类型是________。
A、复数型
B、逻辑型
C、双精度型
D、集合型
(  B  )
4、递归算法的执行过程一般来说可先后分成______和______两个阶段。
A、试探
B、递推
C、枚举
D、分析
(  A  )
5、有以下程序
struct s
{
int n;
int a[20];
};
void f(int *a,int n)
{
int i;
for(i=0;i<n-1;i++)a[i]+=i;
}
main()
{
int i;
struct s s={10,{ 2,3,1,6,8,7,5,4,10,9}};
f(s.a,s.n);
for(i=0; i<s.n; i++)printf("%d,",s.a[i]);
}
程序运行后的输出结果是________。
A、2,4,3,9,12,12,11,11,18,9,
B、3,4,2,7,9,8,6,5,11,10,
C、2,3,1,6,8,7,5,4,10,9,
D、1,2,3,6,8,7,5,4,10,9,
(  D  )
6、有以下程序:
#include <stdio.h>
struct s
{
int a, b;
}
data[2]= {10, 100, 20, 200 };
main()
{
struct s p=data[1];
printf("%d\n", ++(p.a));
}
程序运行后的输出结果是______。
A、10
B、11
C、20
D、21
(  D  )
7、若有下面的说明和定义,则sizeof(struct aa)的值是______。
struct aa
{
int r1;
double r2;
float r3;
}
maya;
A、20
B、18
C、14
D、16
(  B  )
8、下面赋值表达式不正确的是__________________.
struct student
{
long num;
char name[20];
} st1, st2={101, "tom"}, *p=&st1;
A、st1 = st2
B、p->name = st2.name
C、p->num = st2.num
D、*p=st2
(  A  )
9、以下关于逻辑运算符两侧运算对象的叙述中正确的是________。
A、可以是任意合法的表达式
B、只能是整数 0 或非 0 整数
C、可以是结构体类型的数据
D、只能是整数 0 或 1
(  C  )
10、有以下程序
struct stu
{
char num[10];
float score[3];
};
main( )
{
struct stu s[3]={{"20021",90,95,85},{"20022",95,80,75},{"20023",100,95,90}},*p;
int i;
float sum=0;
p=s+2;
for(i=0;i<3;i++)sum=sum+p->score[i];
printf("%6.2f\n",sum);
}
程序运行后的输出结果是________。
A、250.00
B、250
C、285.00
D、285

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

(  A  )
1、有以下程序
#include <stdio.h>
main()
{
int a=0,b=0,c=0;
c=(a-=a-5);
(a=b,b+=4);
printf("%d, %d, %d\n",a,b,c);
}
程序运行后输出的结果是________。
A、0,4,5
B、4,4,5
C、4,4,4
D、0,0,0
(  B  )
2、有以下程序:
main()
{
int x=0,y=5,z=3;
while(z-->0&&++x<5)y=y-l;
printf("%d,%d,%d\n",x,y,z);
}
程序执行后的输出结果是________。
A、3,2,0
B、3。2. 1
C、4,3,-1
D、5,2.-5
(  C  )
3、有以下程序:
main()
{
int x,i;
for(i=l;i<=50;i++)
{
x=i: if(x%2=0) if(x%3=0) if(x%7=0) printf("%d,i)";
}
}
输出结果是________。
A、28
B、27
C、42
D、4l
(  B  )
4、有以下程序 #include <stdio.h>
main() {
int a=1,b=2;
while(a<6){
b+=a;
a+=2;
b%=10;
}
printf("%d,%d\n",a,b);
} 程序运行后的输出结果是________。
A、5,11
B、7,1
C、7,11
D、6,1
(  A  )
5、有以下程序
#include <stdio.h>
main()
{
int a1,a2;
char c1,c2;
scanf("%d%c%c",&a1,&c1,&a2,&c2);
printf(%d,%c,%d,%c,a1,c1,a2,c2);
}
若想通过键盘输入,使得a1的值为12,a2的值为34,c1的值为字符a,c2的值为字符b,程序输出的结果是:12,a,34,b则正确的输入格式是(以下︿代表空格,<cr>代表回车)
A、12a34b<CR>
B、12︿a︿34︿b<CR>
C、12,a,34,b<CR>
D、12︿a34︿b<CR>
(  A  )
6、已知字母a的ascii码为十进制数65,下面程序的输出结果是________。
main( ) {
char ch1,ch2;
ch1=a+5-3;
ch2=a+6-3;
printf("%d,%c\n",ch1,ch2);
}
A、67,D
B、B,C
C、C,D
D、不正确定的值
(  B  )
7、以下程序的输出结果是______。
main()
{
int a=5,b=4,c=6,d;
printf("%d\n",d=a>c?(a>c?a:c):(b));
}
A、5
B、4
C、6
D、不确定
(  D  )
8、有如下程序:
main()
{
int n[5] = {1,2,3},i,k = 2;
for(i = 0; i <= k; i++)n[i] = n[i] + 1;
printf("%d\n",n[i]);
}
该程序的输出结果是______。
A、不确定的值
B、4
C、3
D、0
(  C  )
9、执行以下程序后的输出结果是________。
int w=3,z=7,x=10;
printf("%d",x>10?x+100:x-10);
printf("%d",w++||z++);
printf("%d",!w>z);
printf("%d",w&&z);
A、0111
B、1111
C、0101
D、0100
(  B  )
10、下面程序的运行结果是________。
fun(int p)
{
int k=1;
static t=2;
k=k+1;
t=t+1;
return(p*k*t);
}
main( )
{
int x=4;
fun(x);
printf(''%d\n'',fun(x));
}
A、4
B、32
C、30
D、16