山西农业大学历年计算机C语言期末

本试卷为山西农业大学历年计算机C语言期末,题目包括:理论基础,控制结构,循环结构,数组/指针数组,字符串/字符串指针,函数/函数指针,指针,结构体,程序题。

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

计算机C语言期末

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

(  B  )
1、交换两个变量的值,不允许用临时变量,应该使用下列( )位运算符。
A、&
B、^
C、||
D、~
(  D  )
2、以下关于long、int和short类型数据占用内存大小的叙述中正确的是________,
A、均占4个字节
B、根据数据的大小来决定所占内存的字节数
C、由用户自己定义
D、由C语言编译系统决定
(  B  )
3、下列一组初始化语句中,正确的是 __________.
A、int a[8]={ };
B、int a[9]={
0,7,0,4,8};
C、int a[5]={
9,5,7,4,0,2};
D、int a[7]=7*6;
(  A  )
4、59,73,83,94,( )
A、107
B、101
C、105
D、113
(  C  )
5、设以下变量均为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)
(  B  )
6、下列语句中,不正确的一个是______。
A、float e=1.1f;
B、char f=-1.1f;
C、double g=1.1f;
D、byte h=1;
(  B  )
7、如果将布尔常量值true赋值给一个整型变量,则整型变量的值为________。
A、0
B、-1
C、True
D、False
(  A  )
8、已知英文字母m的ascii码值为109,那么英文字母p的ascii码值是________。
A、112
B、113
C、111
D、114
(  D  )
9、下列对整型常量定义的解释中正确的是________。
A、034代表八进制的数1C
B、034代表十进制的数34
C、034代表十六进制的数28
D、34L代表值为34的64位长整数
(  C  )
10、若内存按字节编址,用存储容量为32k×8bit的存储器芯片构成地址编号a0000h至dffffh的内存空间,则至少需要______片。
A、4
B、6
C、8
D、10
(  A  )
11、若有说明语句:char c=‘\72’; 则变量c________。
A、包含1个字符
B、包含2个字符
C、包含3个字符
D、说明不合法,C的值不确定
(  B  )
12、在c中,合法的字符常量是 ______。
A、‘084’
B、‘\x43’
C、‘ah’
D、“0”
(  B  )
13、设有定义:double x; 则以下能够正确输入变量x值的语句是______。
A、scanf("x=%f",&x);
B、scanf("x=%lf",&x);
C、scanf("x=%f",x);
D、scanf("x=%LF",&x);
(  D  )
14、可以作为自定义标识符的是________。
A、2x
B、while
C、s&1
D、_2x
(  C  )
15、若变量已正确说明为int类型,要给a,b,c输入数据,以下正确的输入语句是________。
A、readA,b,c;
B、getchar(a,b,c);
C、scanf("%d%d%d",&a,&b,&c);
D、scanf("%d%d%d",a,b,c);
(  C  )
16、若a为int类型,且其值为2,则执行完表达式a+=a-=a*a后,a的值是______。
A、0
B、4
C、-4
D、6
(  C  )
17、以下数值中,不正确的八进制数或十六进制数是________。
A、0x16
B、016
C、-16
D、0xaaaa
(  A  )
18、c语言中运算对象必须是整型的运算符是________。
A、%=
B、/
C、=
D、〈=
(  A  )
19、与语句x*=y-1等价的语句是________。
A、x=x*(y-1)
B、x=x*y-1
C、x=y-1
D、y=y*(x-1)
(  D  )
20、在 C语言中,能代表逻辑值“真”的是()。
A、TRUE
B、大于 0 的数
C、非 0 整数
D、非 0 的数

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

(  D  )
1、能正确表示a和b同时为正或同时为负的逻辑表达式是________。
A、(a>=0‖b>=0)&&(a<0‖b<0)
B、(a>=0&&b>=0)&&(a<0&&b<0)
C、(a+b>0)&&(a+b<=0)
D、a*b>0
(  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
(  A  )
3、有如下程序:
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
(  C  )
4、当从键盘上输入字符"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  )
5、运行以下程序后,如果从键盘上输入china#<回车>, 则输出结果为
#include <stdio.h>
main( )
{
int v1=0,v2=0;
char ch;
while ((ch=getchar( ))!='#') switch(ch)
{
case 'a': case 'h': default: v1++;
case 'o': v2++;
}
printf("%d,%d\n",v1,v2);
}
A、2,0
B、5,0
C、5,5
D、2,5
(  A  )
6、下列叙述中正确的是________。
A、程序执行的效率与数据的存储结构密切相关
B、程序执行的效率只取决于程序的控制结构
C、程序执行的效率只取决于所处理的数据量
D、以上三种说法都不对
(  C  )
7、以下程序的输出结果是________。
#include<stdio.h>
main()
{
int a=1,b=3;
if((++a<0)&&!(b--<=0)) printf("%d,%d\n",a,b);
else printf("%d,%d\n",b,a);
}
A、2,2
B、1,3
C、3,2
D、3,1
(  B  )
8、假定所有变量均已正确定义,下列程序段运行后x的值是________。
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
(  D  )
9、执行下列程序段后,m 的值是________.
int w=2,x=3,y=4,z=5,m;
m=(w
A、4
B、3
C、5
D、2
(  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、在do-while循环中,循环由do开始,用while结束,必须注意的是,在while表达式后面的 不能丢,它表示do-while循环的结束。
A、0
B、1
C、;
D、,
(  C  )
2、以下描述中正确的是________。
A、由于do-while循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句
B、do-while循环由do开始,用while结束,在while(表达式)后面不能写分号
C、在do-while循环体中,是先执行一次循环,再进行判断
D、do-while循环中,根据情况可以省略while
(  D  )
3、c语言中下列叙述正确的是_______。
A、不能使用do...while语句构成的循环
B、do...while语句构成的循环,必须用break语句才能退出
C、do...while语句构成的循环,当while语句中的表达式值为非零时结束循环
D、do...while语句构成的循环,当while语句中的表达式值为零时结束循环
(  A  )
4、下列while循环的次数是________。 while (int i=0)i--;
A、0
B、1
C、5
D、无限
(  D  )
5、给定下面的代码: int i=1,j=10;
do
{
if(i++>--j) continue;
}
while(i<5) 执行完之后,i与j的值分别是多少 ( )
A、i=6,j=5
B、i=5,j=5
C、i=6,j=4
D、i=5,j=6
(  B  )
6、下列for循环语句的执行次数是________。
for(int x=0,y=0;(y!=0)&&(x<4);x++)
A、无限次
B、一次也不执行
C、执行一次
D、执行三次
(  D  )
7、有以下程序:
#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
(  B  )
8、c语言中下面哪个不是循环语句?
A、do while
B、if
C、while
D、for
(  A  )
9、以下关于continue语句的描述中正确的是________。
A、continue语句只能用于循环中
B、continue语句只能用于switch语句中
C、continue语句可用于循环和switch语句中
D、以上说法都不正确
(  C  )
10、以下是死循环的程序段是________。
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--);

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

(  D  )
1、若有定义:int c[4][5],(*cp)[5]; 和语句cp=c; ,则能正确引用c数组元素的是________。
A、cp+1
B、*(cp+3)
C、*(cp+1)+3
D、*(*cp+2)
(  C  )
2、已有定义:char a[]="xyz",b[]={'x','y','z'}; 以下叙述中正确的是________。
A、数组a和b的长度相同
B、a数组长度小于b数组长度
C、a数组长度大于b数组长度
D、上述说法都不对
(  B  )
3、对以下说明语句的正确理解是________。 int a[10]= {6,7,8,9,10 };
A、将5个初值依次赋给a[1]至a[5]
B、将5个初值依次赋给a[0]至a[4]
C、将5个初值依次赋给a[6]至a[10]
D、因为数组长度与初值的个数不相同,所以此语句不正确
(  C  )
4、若有说明语句:int i,x[3][4]; 则不能将x[1][1]的值赋给变量i的语句是______。
A、i=*(*(x+1)+1)
B、i=x[1][1]
C、i=*(*(x+1))
D、i=*(x[1]+1)
(  C  )
5、若有下面的程序片段:
int[12]={0},*p[3],**pp,i;
for(i=0;i<3;i) p[i]=&a[i*4];
pp=p
则对数组元素的错误引用是________。
A、pp[0][1]
B、a[10]
C、p[3][1]
D、*(*(p+2)+2)
(  A  )
6、下列对字符数组进行初始化的语句正确的是________。
A、char a []="Hello";
B、char a[][]={'H','e','1','1','o');
C、char a[5]="Hello";
D、char a[2][5]={"Hello", "World"};p
(  B  )
7、有以下程序
main()
{
int a[3][2]={0},(*ptr)[2],i,j;
for(i=0;i<2;i++)
{
ptr=a+i;
scanf("%d",ptr);
ptr++;
}
for(i=0;i<3;i++)
{
for(j=0;j<2;j++) printf("%2d",a[i][j]);
printf("\n");
}
}
若运行时输入:1 2 3<回车>,则输出结果是______。
A、产生错误信息
B、10
C、12
D、1020 30 2000 00 30
(  C  )
8、char a[10]; 不能将字符串"abc"存储在数组中的是________。
A、strcpy(a,"abc");
B、a[0]=0;strcat(a,"abc");
C、a="abc";
D、int i;for(i=0;i<3;i++)a[i]=i+97;a[i]=0;
(  D  )
9、以下对一维数组a 的正确说明是________。
A、int n; scanf("%d",&n); int a[n];
B、int n=10,a[n];
C、int a(10);
D、#define SIZE 10int a[SIZE];
(  D  )
10、若有说明:int a[10];则对 a 数组元素的正确引用是()。
A、a[10]
B、a[3,5]
C、a(5)
D、a[10-10]

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

(  B  )
1、c语言中,下列不合法的字符串常量是________。
A、”\121”
B、'y='
C、”\n\n”
D、”ABCD\x6d”
(  C  )
2、以下程序段中,不能正确赋字符串(编译时系统会提示错误)的是________。
A、char s[10]=”abcdefg”;
B、char t[]=”abcdefg”,*s=t;
C、char s[10];s=”abcdefg”;
D、char s[10];strcpy(s,”abcdefg”);
(  B  )
3、下列选项中c语言中不合法的字符串常量的是________。
A、"\121"
B、'y'
C、"\n\n"
D、"ABCD\x6d\
(  A  )
4、以下不能将s所指字符串正确复制到t所指存储空间的是______。
A、do*t++=*s++;while(*s);
B、for(i=0;t[i]=s[i];i++);
C、while(*t=*s)t++;s++;
D、for(i=0,j=0;t[i++]=s[j++];);
(  A  )
5、下列合法的字符型常量是________。
A、'\x13'
B、'\081'
C、'65'
D、"\n\
(  B  )
6、以下程序段的执行结果为
#define PLUS(X,Y)X+Y
main()
{
int x=1,y=2,z=3,sum;
sum=PLUS(x+y,z)*PLUS(y,z);
printf("SUM=%d",sum);
}
A、SUM=9
B、SUM=12
C、SUM=18
D、SUM=28
(  D  )
7、按照c语言规定的用户标识符命名规则,不能出现在标识符中的是________。
A、大写字母
B、下划线
C、数字字符
D、连接符
(  D  )
8、下面关于编译预处理命令,正确的是________。
A、#define char CHAR
B、#Define E 0.0000034
C、##define FALSE 0
D、#define DIM 26
(  B  )
9、下列数据中属于"字符串常量"的是________。
A、ABC
B、"ABC"
C、'ABC'
D、'A'
(  B  )
10、字符串指针变量中存入的是________。
A、字符串
B、字符串的首地址
C、第一个字符
D、字符串变量

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

(  B  )
1、在下列语句中,其含义为"q是一个函数指针,该指针指向整型数据"的定义语句是________。
A、int**q;
B、int(*q)();
C、int *q;
D、int *q();
(  D  )
2、调用函数时,当实参和形参都是简单变量时,它们之间数据传递的过程是 __________.
A、实参将其地址传递给形参,并释放原先占用的存储单元
B、实参将其地址传递给形参,调用结束时形参再将其地址回传给实参
C、实参将其值传递给形参,调用结束时形参再将其值回传给实参
D、实参将其值传递给形参,调用结束时形参并不将其值回传给实参
(  A  )
3、对于一个正常运行的c程序,以下叙述中正确的是________。
A、程序的执行总是从main函数开始,在main函数结束
B、程序的执行总是从程序的第一个函数开始,在main函数结束
C、程序的执行总是从main函数开始,在程序的最后一个函数中结束
D、程序的执行总是从程序中的第一个函数开始,在程序的最后一个函数中结束
(  C  )
4、下列说法不正确的是________。
A、C语言程序是以函数为基本单位的,整个程序由函数组成
B、C语言程序的一条语句可以写在不同的行上
C、C语言程序的注释行对程序的运行功能不起任何作用,所以注释应该尽可能少写
D、C语言程序的每个语句都以分号结束
(  C  )
5、以下叙述中错误的是________。
A、局部变量的定义可以在函数体和复合语句的内部
B、全局变量的定义可以在函数以外的任何部位
C、同一程序内局部变量和全局变量不允许同名
D、函数的形参属于局部变量
(  B  )
6、下列各项中不属于算法基本特征的是________。
A、可行性
B、递归性
C、确定性
D、有穷性
(  A  )
7、有函数char fun(char *p) { return p; } 该函数的返回值是________。
A、编译出错
B、形参p中存放的地址值
C、一个临时存储单元的地址
D、形参p自身的地址值
(  A  )
8、程序运行过程中常使用参数在函数(过程)间传递信息,引用调用传递的是实参的________。
A、地址
B、类型
C、名称
D、值
(  C  )
9、若x为int型变量,则以下函数fun的类型为________。
fun(x)
{
printf("%d\n",x);
}
A、返回值为void类型
B、无法确定返回值
C、返回值为int类型
D、无返回值
(  C  )
10、sizeof(float)是________。
A、一种函数调用
B、一个不合法的表示形式
C、一个整型表达式
D、一个浮点表达式

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

(  D  )
1、char *s="\t\\name\\address\n"; 指针 s 所指字符串的长度为: 。
A、说明不合法
B、19
C、18
D、15
(  D  )
2、设有语句:"int a=1,b=2,*p1=&a,*p2=&b; ",则使指针p1指向变量b的赋值语句是______。
A、p1=*p2
B、*p1=p2
C、p1=p2
D、*p1=*p2
(  B  )
3、若有定义:int w[3][5]; 则以下不能正确表示该数组元素的表达式是________。
A、*(*w+3)
B、*(w+1) [4]
C、*(*(w+1) )
D、*(&w[0][0]+1)
(  D  )
4、在函数声明中,下面哪项是不必要的________。
A、函数参数的类型和参数名
B、函数名
C、函数的类型
D、函数体
(  A  )
5、在c语言中,若函数调用时实参是数组名,则传递给对应形参的是______。
A、数组空间的首地址
B、数组的第一个元素值
C、数组中元素的个数
D、数组中所有的元素
(  D  )
6、下列程序的输出结果是________。
void f(int*x,int*y)
{
int t;
t=*x,*x=*y;
*y=t;
}
main()
{
int a[8]={1,2,3,4,5,6,7,8},i,*p,*q;
p=a;
q=&a[7];
while(p<q)
{
f(p,q);
p++;
q--;
}
for(i=0;i<8;i+)printf("%d,",a[i]);
}
A、8,2,3,4,5,6,7,1
B、5,6,7,8,1,2,3,4
C、1,2,3,4,5,6,7,8
D、8,7,6,5,4,3,2,1
(  A  )
7、下列程序的运行结果是________。
#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  )
8、下列程序的运行结果是________。
#include<stdio.h>
void fun(int*s,int*p) {
static int t=3;
*p=s[t];
t--;
}
main()
{
int a[]= { 2,3,4,5}, k;
int x;
for(k=0;k<4;k++) {
fun(a,&x);
printf("%d,",x);
}
}
A、5,4,3,2
B、2,3,4,5,
C、2,2,2,2,
D、5,5,5,5,
(  B  )
9、以下叙述中错误的是______。
A、用户定义的函数中可以没有return语句
B、用户定义的函数中可以有多个return语句,以便可以调用一次返回多个函数值
C、用户定义的函数中若没有return语句,则应当定义函数为void类型
D、函数的return语句中可以没有表达式
(  C  )
10、有以下程序
#include <string.h>
void f(char p[][10],int n) /* 字符串从小到大排序 */
{
char t[10];
int i,j;
for(i=0;i<n-1;i++)
for(j=i+1;j<n;j++)
if(strcmp(p[i],p[j])>0)
{
strcpy(t,p[i]);
strcpy(p[i],p[j]);
strcpy(p[j],t);
}
}
main()
{
char p[5][10]={"abc","aabdfg","abbd","dcdbe","cd"};
f(p,5);
printf("%d\n",strlen(p[0]));
}
程序运行后的输出结果是______。
A、2
B、4
C、6
D、3

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

(  B  )
1、下面结构体的定义语句中,错误的是________。
A、struct ord {
int x;int y;int z;};struct ord a;
B、struct ord {
int x;int y;int z;} struct ord a;
C、struct ord {
int x;int y;int z;} n;
D、struct {
int x;int y;int z;} a;
(  C  )
2、设有以下说明语句 struct stu
{
int a ;
float b ;
}
stutype ;
则下面的叙述不正确的是______。
A、struct 是结构体类型的关键字
B、struct stu 是用户定义的结构体类型
C、stutype 是用户定义的结构体类型名
D、a 和 b 都是结构体成员名
(  D  )
3、下面程序的输出是______。
main ()
{
struct cmplx
{
int x ;
int y ;
}
cnum[2]={1 , 3 , 2 , 7};
printf ( "%d\n" , cnum[0].y/cnum[0].x*cnum[1].x );
}
A、0
B、1
C、3
D、6
(  B  )
4、以下对枚举类型名的定义中正确的是______。
A、enum a={ one , two , three} ;
B、enum a {one=9 , two=-1 , three} ;
C、enum a={"one" , "two" , "three"} ;
D、enum a {"one" , "two" , "three"} ;
(  B  )
5、若有下列说明和语句,则对结构体变量st中成员i的引用方式不正确的是________。
struct stu {
int i;
int name;
} st,*p; p=&st;
A、st.i
B、*p.i
C、(*p).i
D、p->i
(  C  )
6、若定义下列结构体,结构体变量p的出生年份赋值正确的语句是________。
struct st
{
int x;
int y;
int z;
}
struct worker
{
char name[20];
char sex;
struct st birth;
} p;
A、x=1987
B、birth.x=1987;
C、p.birth.x=1987;
D、x=1987;
(  B  )
7、有以下结构体说明和变量的定义,且指针p指向变量a,指针q指向变量b。则不能把结点b连接到结点a之后的语句是
struct node char data;
struct node*next;
a,b,*p=&a,*q=&b;
A、next=q;
B、next=&b;
C、p->next=&b;
D、(*p).next=q;
(  D  )
8、有以下程序:
#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
(  A  )
9、有以下程序
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
(  B  )
10、以下对枚举类型名的定义中正确的是________。
A、enum a={sum,mon,tue};
B、enum a {sum=9,mon=-1,tue};
C、enum a={"sum","mon","tue"};
D、enum a {"sum","mon","tue"};

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

(  A  )
1、有以下程序:
main()
{
char ch;
ch='a'+'5'-'3';
printf("%d,%c\n",ch,ch);
}
程序的输出结果是________。
A、67,C
B、B,C
C、c,D
D、不确定的值
(  B  )
2、有以下程序
main( )
{
int x=0,y=5,z=3;
while(z-->0&&++x<5) y=y-1;
printf("%d,%d,%d\n",x,y,z);
}
程序执行后的输出结果是________。
A、3,2,0
B、3,2,-1
C、4,3,-1
D、5,-2,-5
(  D  )
3、阅读下面的程序
#include<stdio.h>
void main()
{
int i,j;
i=010;
j=9;
printf("%d,%d",i-j,i+j);
}
则程序的运行结果是 __________.
A、1,19
B、-1, 19
C、1,17
D、-1,17
(  C  )
4、若有如下定义并赋值: char ch='a', a; 则执行语句"printf("%d",a=ch+2.6); "后的输出结果是________。
A、c
B、d
C、99
D、100
(  B  )
5、下列程序的输出结果是______。
main()
{
int i;
for(i=0;i<2;i++) add();
}
add()
{
int x=0;
static int y=0;
printf("%d,%d\n",x,y);
x++;
y=y+2;
}
A、0,0 0,0
B、0,0 0,2
C、0,0 1,0
D、0,0 1,2
(  C  )
6、请读程序:
# include<stdio.h>
main( ) {
int num=0;
while(num<=2) {
num++;
printf("%d\n",num);
}
}
上面程序的输出结果是________。
A、1
B、1
2
C、1
2
3
D、1
2
3
4
(  A  )
7、以下程序运行后的输出结果是 ______。
main()
{
int a,b,c;
a=10;
b=20;
c=(a%b<1)||(a/b>1);
printf("%d %d %d\n",a,b,c);
}
A、10 20 0
B、20 10 0
C、10 10 0
D、20 20 0
(  B  )
8、下面程序的输出结果是______。
main( )
{
int b[]={1,2,3,4,5,6,7,8,9,0},*q;
q=b;
printf("%d\n",*(q+0));
}
A、0
B、1
C、10
D、9
(  C  )
9、下列程序执行后的输出结果是________。
main()
{
char x=0xFFFF;printf(”%d”,x--);
}
A、-32767
B、FFFE
C、-1
D、-32768
(  D  )
10、下面程序有错误的行是(行前数字表示行号) 。
1 main()
{
2 int a[3]={3*0};
3 int i;
4 for(i=0;i<3;i++)
5 scanf("%d",&a[i]);
6 for(i=1;i<3;i++)
7 a[0]=a[0]+a[i];
8 printf("%d\n",a[0]);
}
A、第2 行有错误
B、第6 行有错误
C、第7 行有错误
D、没有错误