宁波工程学院2023年C语言样卷

本试卷为宁波工程学院2023年C语言样卷,题目包括:理论基础,控制结构,循环结构,数组/指针数组,字符串/字符串指针,函数/函数指针,指针,结构体,程序题。

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

C语言样卷

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

(  B  )
1、若变量已正确定义为float型,要通过输入语句:scanf("%f%f%f",&a,&b,&c);给a赋值11.0,b赋值22.0,e赋值33.0,不正确的输入形式是________。
A、11 22 33
B、11.0,22.0,33.0
C、11.0 22.0 33.0
D、1122
(  B  )
2、若程序中有宏定义行:#define N 100,则以下叙述中正确的是________。
A、宏定义行中定义了标识符N的值为整数100
B、在编译程序对C源程序进行预处理时用100替换标识符N
C、对C源程序进行编译时用100替换标识符N
D、在运行时用100替换标识符N
(  D  )
3、有以下程序
main( )
{
int i,s=0;
for(i=1;i<10;i+=2) s+=i+1;
printf("%d\n",s);
}
程序执行后的输出结果是________。
A、自然数1~9的累加和
B、自然数1~10的累加和
C、自然数1~9中的奇数之和
D、自然数1~10中的偶数之和
(  A  )
4、变量a中的数据用二进制表示的形式是01011101,变量b中的数据用二进制表示的形式是11110000。若要求将a的高4位取反,低4位不变,所要执行的运算是________。
A、a^b
B、a|b
C、a&b
D、a<<4
(  B  )
5、以下运算符中优先级最高的运算符为________。
A、&&
B、!
C、!=
D、||
(  D  )
6、若有以下定义和语句: double r=99 , *p=&r ; *p=r ; 则以下正确的叙述是______。
A、以下两处的 *p 含义相同,都说明给指针变量 p 赋值
B、在 "double r=99,*p=&r ; " 中,把 r 的地址赋值给了 p 所指的存储单元
C、语句 "*p=r ; " 把变量 r 的值赋给指针变量 p
D、语句 "*p=r ; " 取变量 r 的值放回 r 中
(  D  )
7、在浮点数编码表示中, (1) 在机器数中不出现,是隐含的。
A、阶码
B、符号
C、尾数
D、基数
(  D  )
8、数据的存储结构是指________。
A、存储在外存中的数据
B、数据所占的存储空间量
C、数据在计算机中的顺序存储方式
D、数据的逻辑结构在计算机中的表示
(  D  )
9、与二进制小数0.1等值的十六进制小数为________。
A、0.1
B、0.2
C、0.4
D、0.8
(  B  )
10、如果一个表达式包含算术运算、关系运算、逻辑运算和字符运算时,运算的先后顺序是________。
A、算术运算→关系运算→逻辑运算→字符运算
B、算术运算→字符运算→关系运算→逻辑运算
C、逻辑运算→关系运算→算术运算→字符运算
D、字符运算→算术运算→逻辑运算→关系运算
(  C  )
11、结构化程序设计主要强调程序的()
A、效率
B、速度
C、可读性
D、大小
(  A  )
12、下列语句中,正确的是______。
A、static char str[]="China";
B、static char str[];str="China";
C、static char str1[5],str2[]="China";strl=str2;
D、static char str1[],str2[];str2="China";strcpy(str1,str2);
(  A  )
13、在标准ascii码表中,若英文字母i的十进制码值是105,则小写字母f的十进制码值为______。
A、102
B、101
C、103
D、100
(  D  )
14、下列关于表达式的描述中,错误的是________。
A、常量和变量都是表达式
B、运算符类型对应表达式的类型
C、每一个表达式都有自己的值
D、表达式必须以分号结尾
(  A  )
15、结构化程序由三种基本结构组成,三种基本结构组成的算法
A、可以完成任何复杂的任务
B、只能完成部分复杂的任务
C、只能完成符合结构化的任务
D、只能完成一些简单的任务
(  C  )
16、下面四个选项中,均是正确的八进制数或十六进制数的选项是________。
A、-10 、0x8g 、 -011
B、0abc 、-017 、 0xc
C、0010 、 -0x11 、 0xf1
D、0a12 、 -0x123 、 -0xa
(  C  )
17、若有定义:int a=1,b=2,c=3,d=4,m=2,n=2; 则执行(m=a>b)&&(n=c>d)后 n 的值是________。
A、4
B、3
C、2
D、1
(  A  )
18、c风格的注释* c 风格的注释,也称块注释或多行注释,以 ▁▁▁ 开始,以 ▁▁▁ 结束。
A、/* 和 */
B、{ 和 }
C、[ 和 ]
D、( 和 )
(  B  )
19、变量的指针含意是指变量的____
A、值
B、地址
C、存储
D、名字
(  B  )
20、为了避免在嵌套的条件语句if-else 中产生二义性,c 语言规定: else子句总是与配对________。
A、缩排位臵相同的if
B、其之前最近的没有else配对的if
C、其之后最近的if
D、同一行上的if

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

(  A  )
1、与 y=(x>0?1:x<0?-1:0); 的功能相同的if语句是________。
A、if (x>0) y=1;
else if(x<0)y=-1;
else y=0;
B、if(x)
if(x>0)y=1;
else if(x<0)y=-1;
else y=0;
C、y=-1
if(x)
if(x>0)y=1;
else if(x==0)y=0;
else y=-1;
D、y=0;
if(x>=0)
if(x>0)y=1;
else y=-1;
(  D  )
2、下列描述正确的是________。
A、表示m>n为true或m<n为true的表达式为m>n&&m<n
B、switch语句结构中必须有default语句
C、if语句结构中必须有else语句
D、如果至少有一个操作数为true,则包含||运算符的表达式为true
(  C  )
3、若a的值为3时,下列程序段被执行后,c的值是________。
int c = 1;
if (a>0) if (a>3) c = 2;
else c = 3;
else c = 4;
A、1
B、2
C、3
D、4
(  A  )
4、if语句的基本形式是:if(表达式)语句,以下关于"表达式"值的叙述中正确的是______。
A、可以是任意合法的数值
B、必须是整数值
C、必须是正数
D、必须是逻辑值
(  D  )
5、若a和b均是整型变量并已正确赋值,正确的switch语句是________。
A、switch(a+b);……
B、switch(a+b*3.0)……
C、switch a……
D、switch(a%b)……
(  C  )
6、若有定义:float x=1.5; int a=1,b=3,c=2; 则正确的switch语句是________。
A、switch(x) {
case 1.0 : printf("*\n");
case 2.0 : printf("**\n");
}
B、switch((int)x); {
case 1 : printf("*\n");
case 2 : printf("**\n");
}
C、switch(a+b) {
case 1: printf("*\n");
case 2+1: printf("**\n");
}
D、switch(a+b) {
case 1 : printf("*\n");
case c : printf("**\n");
}
(  C  )
7、c语言中下面哪个不是条件语句?
A、if
B、if else
C、NSLog
D、switch
(  D  )
8、设a、b、c、d、m、n均为int型变量,且a=5、b=6、c=7、d=8、m=2、n=3则逻辑表达式(m=a>b)&&(n=c>d)运算后,n的值为______。
A、0
B、1
C、2
D、3
(  A  )
9、有如下程序
main()
{
int x=1,a=5,b=5;
switch(x)
{
case 0: b--;
case 1: a--;
case 2: a--;
b--;
}
printf("a=%d,b=%d\n",a,b);
}
该程序的输出结果是______。
A、a=3,b=4
B、a=3,b=3
C、a=4,b=5
D、a=4,b=4
(  D  )
10、以下叙述中正确的是________。
A、逻辑"或”(即运算符||)的运算级别比算术运算要高
B、C 语言的关系表达式:0<x<10 完全等价于:(0<x)&&(x<10)
C、逻辑"非”(即运算符!)的运算级别是最低的
D、由&&构成的逻辑表达式与由||构成的逻辑表达式都有“短路”现象

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

(  D  )
1、在下列选项中,没有构成死循环的程序段是________。
A、int i=100;
while (1)
{
i=i%100+1;
if (i>100) break;
}
B、for( ; ; );
C、int k=1000;
do {++k;} while (k>=1000);
D、int s=36;
while (s) --s;
(  C  )
2、运行下面程序时,若从键盘输入数据为 "123" , 则输出结果是 _________.
#include "stdio.h"
void main()
{
int num,i,j,k,place;
scanf("%d",&num);
if (num>99) place=3;
else if(num>9) place=2;
else place=1;
i=num/100;
j=(num-i*100)/10;
k=(num-i*100-j*10);
switch (place)
{
case 3: printf("%d%d%d\n",k,j,i);
break;
case 2: printf("%d%d\n",k,j);
break;
case 1: printf("%d\n",k);
}
}
A、123
B、1,2, 3
C、321
D、3,2,1
(  A  )
3、有以下程序
#include <stdio.h>
main()
{
int a=7;
while(a--);
pfintf("%d\n",a);
}
程序运行后的输出结果是________。
A、-1
B、0
C、1
D、7
(  D  )
4、有以下程序:
#include<stdio.h>
main()
{
int i=0,a=0;
while(i<20)
{
for(;;)
{
if((i%5)==0)break;
else i--;
}
i+=13,a+=i;
}
printf("%d\n",a);
}
程序的输出结果是________。
A、62
B、63
C、23
D、36
(  B  )
5、有以下程序
main()
{
int y=10;
while(y--);
printf("y=%d\n",y);
}
程序执行后的输出结果是________。
A、Y=0
B、Y=-1
C、Y=1
D、while构成无限循环
(  D  )
6、有以下程序段int n=0,p;
do
{
scanf("%d",&p);
n++;
}
while(p!=12345&&n<3);
此处do-while循环的结束条件是______。
A、p的值不等于12345并且n的值小于3
B、p的值等于12345并且n的值大于等于3
C、p的值不等于12345或者n的值小于3
D、p的值等于12345或者n的值大于等于3
(  C  )
7、以下for语句构成的循环执行了______次。
#include <stdio.h>
#define N 2
#define M N+1
#define NUM (M+1)*M/2
main()
{
int i,n=0;
for(i=1;i<=NUM;i++)
{
N++;
printf("%d",n);
}
printf("\n");
}
A、5
B、6
C、8
D、9
(  B  )
8、设有以下程序段: int k=0;
while(k=1) k--;
则以下叙述中正确的是________。
A、while 循环执行一次
B、该循环是无限循环
C、循环体语句一次也不执行
D、该循环有语法错误
(  A  )
9、若变量已正确定义,以下while循环正常结束时,累加到pi的最后一项item的值满足________。
A、item的绝对值小于0.0001
B、item的绝对值大于0.0001
C、item的绝对值大于等于0.0001
D、item的绝对值小于等于0.0001
(  D  )
10、以下程序段的输出结果为()。
char c[]="abc";
int i=0;
do ;while(c[i++]!='\0');printf("%d",i-1);
A、abc
B、ab
C、2
D、3

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

(  C  )
1、下列描述中不正确的是________。
A、字符型数组中可能存放字符串。
B、可以对字符型数组进行整体输入、输出。
C、可以对整型数组进行整体输入、输出。
D、不能在赋值语句中通过赋值运算符“=”对字符型数组进行整体赋值。
(  C  )
2、设有数组定义:char array[]="student"; 则数组所占的存贮空间为________。
A、6个字节
B、7个字节
C、8个字节
D、9个字节
(  B  )
3、以下数组定义中错误的是________。
A、int x[][3]={0};
B、int x[2][3]={{l,2},{3,4},{5,6}};
C、int x[][3]={{l,2,3},{4,5,6}};
D、int x[2][3]={l,2,3,4,5,6};
(  D  )
4、有以下程序
#include <stdio.h>
void fun(int *a, int n)/*fun函数的功能是将a所指数组元数从大到小排序*/
{
int t,i,j;
for(i=o;i<n-1;j++) for(j=j+1;j<n;j++) if(a[i]<a[j])
{
t=a[i];
a[i]=a[j];
a[j]=t;
}
}
main()
{
int c[10]={1,2,3,4,5,6,7,8,9,0} ,i;
fun(c+4,6);
for(i=0;i<10,i++) printf("%d,",c[i]);
}
程序的运行结果是________。
A、1,2,3,4,5,6,7,8,9,0,
B、0,9,8,7,6,5,1,2,3,4,
C、0,9,8,7,6,5,4,3,2,1,
D、1,2,3,4,9,8,7,6,5,0,
(  B  )
5、若有定义:int w[3][5]; 则以下不能正确表示该数组元素的表达式是________。
A、*(*w+3)
B、*(w+1) [4]
C、*(*(w+1) )
D、*(&w[0][0]+1)
(  D  )
6、下列描述中,正确的一条是______。
A、关系表达式的值是一个逻辑值,即“真”或“假”,可以赋给一个逻辑变量
B、在C语言中,判断一个量是否为:真”时,以0代表“假”,以1代表“真”.
C、设a=3、b=4、c=5,则表达式!(x=&&(y=&&0的值为0
D、一个数组的各个数组元素可属于不同的数据类型
(  A  )
7、二维数组a[8][9]按行优先顺序存储,若数组元素a[2][3]的存储地址为1087,a[4][7]的存储地址为1153,则数组元素a[6][7]的存储地址为 ( )
A、1207
B、1209
C、1211
D、1213
(  C  )
8、下面程序段的运行结果是 char a[ ]="lanuage",*p; p=a; while(*p!='u') printf("%c",*p-32); p++;
A、LANGUAGE
B、language
C、LAN
D、langUAGE
(  C  )
9、下列字符数组长度为5的是________。
A、char a[10]= { 'h','a','b','c','d' };
B、char b[]={ 'h','a','b','e','d','\0'};
C、char c[]={'h','a','b','c','d'};
D、char d[6]= {'h','a','b','c','\0'};
(  B  )
10、对长度为 8 的数组进行快速排序,最多需要的比较次数为________。
A、8
B、28
C、56
D、64

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

(  C  )
1、以下不能将s所指字符串正确复制到t所指存储空间的是________。
A、while(*t=*s){t++;s++;)
B、for(i=0;t[i]=s[i];i++);
C、do {*t++=*s++;)while(*s);
D、for(i=0,j=o;t[i++]=s[j++];);
(  D  )
2、在c语言中,以 作为字符串结束标志
A、’\n’
B、’ ’
C、’0’
D、’\0’
(  B  )
3、字符串 "\\\"abc\"\\" 的长度是______。
A、11
B、7
C、5
D、3
(  B  )
4、下列选项中,值为1的表达式是________。
A、1-'0'
B、1-'\0'
C、'1'-0
D、'\0','0'
(  D  )
5、有以下程序:
#include<string.h>
main()
{
char *p="abcde\0ghjik\0";
printf("%d\n",strlen(p) );
}
程序运行后的输出结果是________。
A、12
B、15
C、6
D、5
(  A  )
6、设有定义:char*c; 以下选项中能够使字符型指针c正确指向一个字符串的是________。
A、charstr[]="string";c=str;
B、scanf("%s",c);
C、c=getchar();
D、char str[]="string";strcpy("C,str")
(  C  )
7、设 char *s="\ta\017bc";
则指针变量s指向的字符串所占的字节数 是________。
A、9
B、5
C、6
D、7
(  D  )
8、在宏定义#define PI 3.14159中,用宏名代替一个________。
A、常量
B、单精度数
C、双精度数
D、字符串
(  D  )
9、若有char s1[]="abc",s2[20],*t=s2;gets(t);则下列语句中能够实现当字符串 s1 大于字符串 s2 时,输出 s2 的语句是()。
A、if(strcmp(s1,s1)>0)puts(s2);
B、if(strcmp(s2,s1)>0)puts(s2);
C、if(strcmp(s2,t)>0)puts(s2);
D、if(strcmp(s1,t)>0)puts(s2);
(  A  )
10、设有以下语句, 若 0
A、strp
B、str[k]
C、strp[k]
D、*strp

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

(  D  )
1、设函数fun的定义形式为________。
void fun(char ch, float x )
{
…
}
则以下对函数fun的调用语句中,正确的是________。
A、fun("abc",3.0);
B、t=fun('D',16.5);
C、fun('65',2.8);
D、fun(32,32);
(  D  )
2、若有以下函数首部: int fun(double x[10],int *n) 则下面针对此函数的函数声明语句中正确的是________。
A、int fun(double x, int *n);
B、int fun(double, int);
C、int fun(double *x, int n);
D、int fun(double*, int*);
(  A  )
3、若有下面的函数调用: fun(a+b,3,max(n-1,b)) 则fun的实参个数是________。
A、3
B、4
C、5
D、6
(  A  )
4、下列程序的运行结果是________。
#include<stdio.h>
void sub(int*s,int*y)
{
static int m=4: *y=s[m];
m--;
}
void main()
{
int a[]={1,2,3,4,5},k,x;
printf("\n");
for(k=0;k<=4;k++)
{
sub(a,&x);
printf("%d,",x);
}
}
A、5,4,3,2,1,
B、1,2,3,4,5,
C、0,0,0,0,0,
D、4,4,4,4,4,
(  A  )
5、下面程序的输出结果是________。
# 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  )
6、下列程序的输出结果是
#include "stdio.h"
#define N 3
#define M 3
void fun(int a[M][N]) {
printf("%d\n",*(a[1]+2));
}
main()
{
int a[M][N];
int i,j;
for(i=0;i<M;i++) for(j=0;j<N;j++) a[i][j]=i+j-(i-j);
fun(a);
}
A、3
B、4
C、5
D、6
(  B  )
7、以下程序中函数f的功能是:当flag为1时,进行由小到大排序;
当flag为0时,进行由大到小排序。
void f (int b[],int n,int flag)
{
int i,j,t;
for(i=0;i<n-1;i++)
for(j=i+1;j<n;j++)
if(flag?b[i]>b[j]:b[i]<b[j])
{
t=b[i];
b[i]=b[j];
b[j]=t;
}
}
main()
{
int a[10]={5,4,3,2,1,6,7,8,9,10}, i;
f(&a[2],5,0);
f(a,5,1);
for(i=0;i<10;i++) printf("%d,",a[i]);
}
程序运行后的输出结果是______。
A、1,2,3,4,5,6,7,8,9,10,
B、3,4,5,6,7,2,1,8,9,10,
C、5,4,3,2,1,6,7,8,9,10,
D、10,9,8,7,6,5,4,3,2,1,
(  A  )
8、下面选项中表示主函数的是?
A、main()
B、int
C、printf()
D、return
(  A  )
9、关于函数参数,说法正确的是________。
A、实参与其对应的形参各自占用独立的内存单元
B、实参与其对应的形参共同占用一个内存单元
C、只有当形参与实参同名时才占用同一个内存单元
D、形参是虚拟的,不占用内存单元
(  B  )
10、调用函数f(27)的输出结果是________。
void f(int n)
{
if(n<5) printf("%d", n);
else
{
printf("%d", n%5);
f(n/5);
}
}
A、102
B、201
C、21
D、20

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

(  C  )
1、下列能正确进行字符串赋值的是________。
A、char s[5]={¨ABCDE”);
B、char s[5]={'A','B','C','D','E'};
C、char*s;s=”ABCDE”;
D、char*s;printf(”%S”,s);
(  C  )
2、以下不能对二维数组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}
(  A  )
3、设有定义:int n1=0,n2,*p=&n2,*q=&n1; ,以下赋值语句中与n2=n1; 语句等价的是________。
A、*p=*q;
B、p=q;
C、*p=&n1;
D、p=*q;
(  B  )
4、下面程序的输出结果是______。
main()
{
int a[10]={0,1,2,3,4,5,6,7,8,9},*p=a+4;
printf("%d\n",p[3]);
}
A、6
B、7
C、3
D、5
(  C  )
5、若有定义语句:int m[ ]= {5,4,3,2,1},i=4; 则下面对m数组元素的引用中错误的是______。
A、m[--i]
B、m[2*2]
C、m[m[0]]
D、m[m[i]]
(  A  )
6、有说明语句int a[4][5]; 则a[2]+3表示__。
A、a数组行下标为2、列下标为3的元素的地址
B、a数组行下标为2、列下标为3的元素的值
C、a数组第2行的首地址
D、a数组第3行的首地址
(  C  )
7、在c语言中,调用函数除函数名外,还必须有________。
A、函数预说明
B、实际参数
C、( )
D、函数返回值
(  C  )
8、以下叙述中不正确的是________。
A、一个变量的作用域完全取决于变量定义语句的位置
B、全局变量可以在函数以外的任何部位进行定义
C、局部变量的“生存期”只限于本次函数调用,因此不可能将局部变量的运算结果保存至下一次调用
D、一个变量说明为static存储类别是为于限制其它编译单位的引用
(  D  )
9、若二维数组a 有m 列,则计算任一元素a[i][j] 在数组中位臵的公式为(假设a[0][0] 位于数组的第一个位臵上) ________。
A、i*m+j
B、j*m+i
C、i*m+j-1
D、i*m+j+1
(  D  )
10、一个c语言程序是由____构成。
A、语句
B、行号
C、数据
D、函数

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

(  D  )
1、下列选项中属于c语言构造类型的是________。
A、指针类型
B、空类型
C、枚举类型
D、数组类型
(  C  )
2、以下对结构体类型变量的定义中,不正确的是________。
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;
(  A  )
3、设有以下语句
typedef struct s
{
int g;
char h;
}
t;
则下面叙述中正确的是________。
A、可用S定义结构体变量
B、可以用T定义结构体变量
C、S是struct类型的变量
D、T是struct S类型的变量
(  C  )
4、设有如下说明
typedef struct st
{
long a;
int b;
char c[2];
}
new;
则下面叙述中正确的是______。
A、以上的说明形式非法
B、ST 是一个结构体类型
C、NEW 是一个结构体类型
D、NEW 是一个结构体变量
(  B  )
5、有以下程序:
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=s;
int i;
float sum=0;
for(i=0;i<3;i++ ){
sum=sum+p->score[i];
}
printf("%6.2f\n",sum);
}
程序运行后的输出结果是________。
A、260
B、270
C、280
D、285
(  A  )
6、有以下程序
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+1;
for(i=0;i<3;i++)sum=sum+p->score[i];
printf("%.3f\n",sum);
}
程序运行后的输出结果是___________。
A、250.000
B、250
C、270.000
D、270
(  A  )
7、以下叙述中正确的是________。
A、使用 typedef 定义新类型名后,新类型名与原类型名实际上是等价的
B、结构体类型中的各个成分均不能是数组或指针
C、结构体类型的变量,不能在声明结构体类型组成时一起定义
D、元素为结构体类型的数组,只能在声明过结构体类型之后,单独进行定义
(  A  )
8、设有如下定义:
struct sk
{
int a;
float b;
}
data,*p;
若要使p指向data中的a域,正确的赋值语句是________。
A、p=(struct sk*)&data.a;
B、p=(struct sk*) data.a;
C、p=&data.a;
D、*p=data.a;
(  A  )
9、定义共用体的关键字是________。
A、union
B、enum
C、struct
D、typedef
(  A  )
10、结构体类型的定义允许嵌套是指()。
A、成员是已经或正在定义的结构体型
B、成员可以重名
C、结构体型可以派生
D、定义多个结构体型

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

(  C  )
1、下面程序段的输出结果是________。 int i=32770:printf("%d\n",i);
A、32769
B、32767
C、-32766
D、输出不确定数
(  D  )
2、有以下程序:
main()
{
int k=-3: if(k<=0)printf("****\n") else printf("&&&&\n");
}
程序的输出结果是________。
A、输出####
B、输出&&&&
C、输出####&&&&
D、有语法错不能通过编译
(  B  )
3、下列程序的运行结果是________。
#define ADD(x)X+X
main()
{
int m=1,n=2,k=3: int s=ADD(m+n)*k;
printf("s=%d",s):
}
A、sum=18
B、sum=10
C、sum=9
D、sum=25
(  D  )
4、有以下程序,其中k的初值为八进制数:
main()
{
int k=011;
printf{"%d|n",k++} ;
}
程序运行后的输出结果是________。
A、12
B、11
C、10
D、9
(  C  )
5、以下程序的输出结果是________。
#define f(x) x*x
main()
{
int a=6,b=2,c;
c=f(a)/f(b);
printf("%d\n",c);
}
A、9
B、6
C、36
D、18
(  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、不确定的值
D、C, D
(  D  )
7、以下程序的输出结果是 __________.
#include <stdio.h>
void fun()
{
static int a=0;
a+=2;
printf("%d",a);
}
void main()
{
int cc;
for(cc=1;cc<4;cc++) fun( );
printf("\n");
}
A、2222
B、2468
C、222
D、246
(  B  )
8、以下程序的输出结果是______。
#include <stdio.h>
#define FUDGE(y) 2.84+y
#define PR(a) printf("%d",(int)(a) )
#define PRINT1(a) PR(a); putchar('\n')
main()
{
int x=2;
PRINT1(FUDGE(5)*x);
}
A、11
B、12
C、13
D、15
(  D  )
9、有以下程序
main()
{
unsigned chara,b,c;
a=0x3;
b=a|0x8;
c=b<<1;
printf("%d%d\n",b,c);
}
程序运行后的输出结果是______。
A、-11 12
B、-6 -13
C、12 24
D、11 22
(  C  )
10、下面程序的输出结果是________。
main( )
{
extern int m;
m-=2;
f( );
printf("%d\n",m);
}
int m=7;
f( )
{
printf("%d&",m*m);
m+=m;
}
A、2510
B、25&25
C、25&10
D、10&25