南京体育学院C语言期末练习

本试卷为南京体育学院C语言期末练习,题目包括:理论基础,控制结构,循环结构,数组/指针数组,字符串/字符串指针,函数/函数指针,指针,结构体,程序题。

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

C语言期末练习

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

(  B  )
1、已知大写字母a的ascil码是65,小写字母a的acsii码是97。下列能将变量c中的大写字母转换为对应小写字母的语句是________。
A、c=(c-'A')%26+'A'
B、C=c+32
C、c=c-'A'+'A'
D、c=('A'+C)%26—'a'
(  C  )
2、以下有4组用户标识符,其中合法的一组是________。
A、FOr
-sub
Case
B、4d
DO
Size
C、f2_G3
IF
abc
D、WORD
void
define
(  D  )
3、下列判断正确的是________。
A、char a="ABCD":等价于char*a;*a="ABCD":
B、char str[10]={"ABCD"}:等价于char str[10];str []={"ABCD"};
C、char*s="ABCD":等价于char s;*s="ABCD";
D、char c[5]="ABCD",d[5]="ABCD":等价于char c [5]-d[5]="ABCD";
(  B  )
4、以下选项中不属于字符常量的是________。
A、'C'
B、"C"
C、'\xCC0'
D、'\072'
(  B  )
5、c 语言共用体类型变量在程序运行期间 。
A、所有成员一直驻留在内存中
B、只有一个成员驻留在内存中
C、部分成员驻留在在内存中
D、没有成员驻留在内存中
(  A  )
6、在 c 语言中 , 以下叙述不正确的是 ___________.
A、在 C 程序中 , 无论是整数还是实数 , 都能被准确无误的表示
B、在 C 程序中 , 变量名代表存储器中的一个位置
C、静态变量的生存期与整个程序的生存期相同
D、C 语言中变量必须先定义后引用
(  C  )
7、下列数据中,不合法的c语言实型数据的是________。
A、0.123
B、123e3
C、2.1e3.5
D、789.0
(  C  )
8、设x、y、t均为int型变量,则执行语句x=y=3; t=++x||++y; 后,y的值为______。
A、不定值
B、4
C、3
D、1
(  A  )
9、以下字符常量中不合法的一项是________。
A、'b
'
B、'
'
C、' '
D、'Y'
(  D  )
10、按照运算符功能的划分,运算符==属于________。
A、扩展赋值运算符
B、二元运算符
C、算术运算符
D、关系运算符
(  B  )
11、现代计算机中采用二进制数制是因为二进制数的优点是______。
A、代码表示简短,易读
B、物理上容易实现且简单可靠;运算规则简单;适合逻辑运算
C、容易阅读,不易出错
D、只有0,1两个符号,容易书写
(  B  )
12、下列选项中非法的字符常量是________。
A、'\t'
B、'\039'
C、','
D、'\n'
(  B  )
13、已知英文字母m的ascii码值为6dh,那么字母q的ascii码值是________。
A、70H
B、71H
C、72H
D、6FH
(  C  )
14、能正确表示"当x的取值在[l,10]或[200,210]范围内为真,否则为假的表达式是________。
A、(x>=1)&&(x<=10)&&(x>=200)&&(x<=210)
B、(x>=1)||(x<=10)||(x>=200)||(x<=210)
C、(x>=1)&&(x<=l0)||(x>=200)&&(x<=210)
D、(x>=1)||(x<=10)&&(x>=200)||(x<=210)
(  B  )
15、假设i和j是整型变量,以下语句( ) 的功能是在屏幕上显示形如i * j = i*j的一句乘法口诀。例如,当i=2,j=3时,显示2 * 3 = 6。
A、printf("d * %d = %d\n", i, j, i*j);
B、printf("%d * %d = %d\n", i, j, i*j);
C、printf("%d * %d = %d\n", i, j);
D、printf("%d = %d * %d\n", i, j, i*j);
(  A  )
16、以下选项中合法的 c 语言赋值语句是________。
A、++i;
B、a=b=34
C、a=3,b=9
D、k=int(a+b);
(  C  )
17、执行下列语句后变量x和y的值是________。 y=10; x=y++;
A、x=10,y=10
B、x=11,y=11
C、x=10,y=11
D、x=11,y=10
(  D  )
18、以下选项中正确的 c 语言常量是________。
A、2.46E-1.5
B、0382
C、'123'
D、'\0'
(  C  )
19、如下说法不正确的是________。
A、c>a+b 等效于c>( a+b)
B、若a,b 均为真,则a||b 为真
C、表达式'c'&&'d' 的值为0
D、逻辑运算符!比逻辑运算符||的优先级高
(  D  )
20、设已定义整型变量k,则下面的程序输出为________。k=017 ;
s=111;
printf ( ''%d'', ++k);
printf ( ''%x\n'' ,s++);
A、15 6f
B、16 70
C、15 71
D、16 6f

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

(  C  )
1、在嵌套使用if语句时,c语言规定else总是________。
A、和之前与其具有相同缩进位置的if配对
B、和之前与其最近的if配对
C、和之前与其最近的且不带else的if配对
D、和之前的第一个if配对
(  C  )
2、设a、b、e、d、m、n均为int型变量,且a=5、b=6、c=7、d=8、m=2、n=2,则逻辑表达式(m=a>b)&&(n=c>d)运算后,n的值是________。
A、0
B、1
C、2
D、3
(  D  )
3、c语言对嵌套的if语句的规定是:else总是与 配对。
A、与之前最近的if
B、第一个if
C、缩进位置相同的if
D、与之前最近的且尚未配对的if
(  C  )
4、有以下程序
main( )
{
char k;
int i;
for(i=1;i<3;i++)
{
scanf("%c",&k);
switch(k)
{
case ‘0’: printf("another\n");
case ‘1’: printf("number\n");
}
}
}
程序运行时,从键盘输入:01<回车>,程序执行后的输出结果是________。
A、another
number
B、another
number
another
C、another
number
number
D、number
number
(  A  )
5、以下程序的输出结果是
main()
{
int a=0,i;
for(i=;i<5;i++)
{
switch(i)
{
case 0: case 3:a+=2;
case 1: case 2:a+=3;
default:a+=5;
}
}
printf("%d\n",a);
}
A、31
B、13
C、10
D、20
(  A  )
6、在c程序中,判断逻辑值时,分别用( )表示逻辑值"真"、"假"。
A、非0 0
B、0 1
C、非0非0
D、1 1
(  A  )
7、在c程序中,判逻辑值时,用"非0"表示逻辑值"真",又用"0"表示逻辑值"假"。在求逻辑值时,逻辑真和逻辑假可分别表示为
A、1 0
B、0 1
C、非0非0
D、1 1
(  C  )
8、以下叙述中正确的是________。
A、对于逻辑表达式:a++||b++,设 a 的值为 1,则求解表达式的值后,b的值会发生改变
B、对于逻辑表达式:a++&&b++,设 a 的值为 0,则求解表达式的值后,b的值会发生改变
C、else 不是一条独立的语句,它只是 if 语句的一部分
D、关系运算符的结果有三种:0,1,-1
(  A  )
9、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",a,b);}
该程序的输出结果是( )
A、2,1
B、1,1
C、1,0
D、2,2
(  C  )
10、结构化程序设计所规定的三种基本控制结构是()。
A、输入、处理、输出
B、树形、网形、环形
C、顺序、选择、循环
D、主程序、子程序、函数

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

(  D  )
1、有以下程序:
main()
{
int i,n=0: for(i=2;i<5;i++)
{
do
{
if(i%3) continue: n++;
}
while(!i);
n++;
}
printf("n=%d\n",n);
}
程序执行后输出结果是________。
A、n=5
B、n=2
C、n=3
D、n=4
(  D  )
2、给定下面的代码: 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
(  C  )
3、以下说法中不正确是________。
A、使用while循环时,循环变量初始化的操作应在循环语句之前完成
B、while循环是先判断表达式,后执行循环体语句
C、do-while和for循环均是先执行循环体语句,后判断表达式
D、for,while和for-while循环中的循环体均可以由空语句构成
(  B  )
4、以下选项中与if(a==1)a++; else a=b; 语句功能不同的语句是________。
A、switch(a)
ease 0:a=b;break;
default:a++;
B、switch(a==1)
case 0:a++:
default:a=b;
C、switch(a)
default:a=b;break;
case 1:a++;
D、a=(a==1)(a++):b
(  B  )
5、有下列程序:
#include<stdio.h>
main()
{
int a=6,b=7,m=1;
switch(a%2)
{
case 0:m++;
break;
case 1:m++;
switch(b%2)
{
defaut:m++;
case0:m++;
break;
}
}
printf("%d\n",m);
}
程序运行后的输出结果是________。
A、1
B、2
C、3
D、4
(  D  )
6、分析下列程序,其最终执行结果是______。
main()
{
int n[3],i,j,k;
for(i=0;i<3;i++)n[i]=o;
k=2;
for(i=0;i<k;i++) for(j=0;j<k;j++) n[j]=n[i]-1;
printf("%d\n",n[0]);
}
A、-2
B、-1
C、0
D、-3
(  B  )
7、有如下程序
#define N 4
#define M N+2
#define NUM 2*M+1
main()
{
int i;
for(i=1;i<=NUM;i++)printf("%d\n",i);
}
该程序中的for循环执行的次数是______。
A、14
B、11
C、10
D、13
(  A  )
8、设有以下代码其中,循环体 a 与循环体 b 相同,以下叙述正确的是________。
A、循环体 A 与循环体 B 的执行次数相同
B、循环体 A 比循环体 B 的执行次数多一次
C、循环体 A 比循环体 B 的执行次数少一次
D、循环体 A 与循环体 B 的执行次数不确定
(  C  )
9、判断关键字* ▁▁▁▁▁ 不是关键字。
A、int
B、extern
C、break
D、main
(  B  )
10、以下程序的执行结果是 main()
{ int x = 0, s = 0;
while( !x != 0 ) s += ++x;
printf( "%d ",s ); }
A、0
B、1
C、语法错误
D、无限循环

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

(  B  )
1、若有定义"int b[8],*p=b;",则p+6表示( )。
A、数组元素b[6]的值
B、数组元素b[6]的地址
C、数组元素bE73的地址
D、数组元素hEo]的值加上6
(  B  )
2、若二维数组a有m列,则在a[i][j]前的元素个数为( )。
A、i*m+j-1
B、i*m+j
C、j*m+i
D、i*m+j+1
(  D  )
3、下列选项中,能正确定义数组的语句是________。
A、int num[0..2008];
B、int num [];
C、int N=2008; int num[N];
D、#define N 2008; int num[N];
(  D  )
4、以下函数findmax拟实现在数组中查找最大值并作为函数值返回, 但程序中有错导致不能实现预定功能
#define MIN -2147463647
int findmax(int x[],int n)
{
int i,max;
for(i=0;i<n;i++)
{
max=MIN;
if(max<x[i]) max=x[i];
}
return max;
}
造成错误的原因是________。
A、定义语句int i,max中max未赋值
B、赋值语句max=MIN;中,不应该给max赋MIN值
C、语句if(max<x[i]) max=x[i];中判断条件设置错误
D、赋值语句max=MIN;放错了位置
(  A  )
5、设有如下程序段 char s[20]= "bejing",*p; p=s; 则执行p=s; 语句后,以下叙述正确的是________。
A、可以用*p表示s[0]
B、s数组中元素的个数和p所指字符串长度相等
C、s和p都是指针变量
D、数组s中的内容和指针变量p中的内容相等
(  B  )
6、定义如下一维数组:int a[5],*p; 则下列描述错误的是________。
A、表达式p=p+l是合法的
B、表达式a=a+l是合法的
C、表达式p-a是合法的
D、表达式a+2是合法的
(  A  )
7、在c语言中,若函数调用时实参是数组名,则传递给对应形参的是______。
A、数组空间的首地址
B、数组的第一个元素值
C、数组中元素的个数
D、数组中所有的元素
(  C  )
8、若有下面的程序片段:
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)
(  C  )
9、下面程序的输出结果是______。
main()
{
int a[3][4]={1,3,5,7,9,11,13,15,17,19,21,23};
int(*p)[4]=a,i,j,k=0;
for(i=0;i<3;i++) for(j=0;j<2;j++) k=p[i][j];
printf("%d\n",k);
}
A、17
B、18
C、19
D、23
(  C  )
10、下列关于c语言字符数组描述正确的是________。
A、字符数组可以存放字符串
B、字符数组的下标是从0开始的
C、字符数组不能输出字符串
D、字符数组可以没有'\0'

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

(  D  )
1、char *s="\t\\name\\address\n"; 指针 s 所指字符串的长度为: 。
A、说明不合法
B、19
C、18
D、15
(  C  )
2、在下列各项中,运算级别最低的为________。
A、算术运算符
B、关系运算符
C、逻辑运算符
D、圆括号( )
(  D  )
3、下列字符串中,正确的c标识符是________。
A、foo-1
B、2b
C、new
D、256
(  B  )
4、下列类型的数据不可以存储在可变型变量中的是________。
A、整型
B、字节型
C、单精度型
D、日期型
(  C  )
5、下列的程序用来输出两个字符串前7个字符中对应相等的字符及其位置号,程序空白处应该填写的是________。
#include<stdio.h>
main()
{
char sl[]="chinese",s2[]="japnese";
int i;
for(i=0;s1[i]!='\0'&&s2[i]!='\0';i++) if(s1[i]=s2[i]&&i<7) ____________________;
}
A、putchar(s2;putchar(
B、puts(s1,
C、printf("%c%d\n",s2,
D、printf("%c",s1);printf("%d\n",
(  A  )
6、以下选项中合法的c语言字符常量是________。
A、'\t'
B、"A"
C、67
D、A
(  D  )
7、下列字符常量的写法中,正确的是________。
A、'abc'
B、'\5A'
C、A
D、'\73'
(  C  )
8、请读程序片段(字符串内没有空格字符):printf("%d\n",strlen("ats\n012\1\\") );
上面程序片段的输出结果是______。
A、11
B、10
C、9
D、8
(  C  )
9、若有定义: char str1[10] = "aaaaaaa";
char str2[10] = "bbbbb";
将字符串str2连接到str1,则下列描述中正确的是________。
A、strcat(str1,str2)可以将字符串str2连接到str1中
B、strncat(str1,str2,strlen(str2))可以将字符串str2连接到str1中
C、strncat(str1,str2,2)可以将字符串str2的前两个字符连接到str1中
D、strncat(str1,str2,4)可以将字符串str2的前四个字符连接到str1中
(  A  )
10、下面不正确的字符串常量是________。
A、'abc'
B、"12'12"
C、"0"
D、" "

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

(  C  )
1、#define能作简单的替代,用宏来替代计算多项式5*X*x 4-5*x+5的值的函数f,正确的宏定义语句为( )。
A、#define f(x) 5*x*x+5*X+5
B、#define f5*x*x+5*x+5
C、#define f(a) (5*a”a+5*a+5)
D、#define(5*x*x+5+x+5) f(x)
(  D  )
2、若调用一个函数,且此函数中没有return语句,则正确的说法是________。
A、该函数没有返回值
B、该函数返回若干个系统默认值
C、能返回一个用户所希望的函数值
D、返回一个不确定的值
(  B  )
3、下面函数的功能是______。 sss ( char *s , char *t )
{
while (( *s ) && ( *t ) && ( *t++== *s++ )) ;
return ( *s-*t ) ;
}
A、求字符串的长度
B、比较两个字符串的大小
C、将字符串 s 复制到字符串 t 中
D、将字符串 s 接续到字符串 t 中
(  B  )
4、在一个c语言程序中,________。
A、main函数必须出现在所有函数之前
B、main函数可以在任何地方出现
C、main函数必须出现在所有函数之后
D、main函数必须出现在固定位置
(  D  )
5、若有以下函数调用语句:fun(m+n,x+y,f(m+n,z,(x,y))); 在此函数调用语句中实参的个数是________。
A、6
B、5
C、4
D、3
(  B  )
6、下面的描述中错误的是________。
A、调用函数时,实参可以是表达式
B、调用函数时,实参与形参可以共用内存单元
C、调用函数时,将为形参分配内存单元
D、调用函数时,实参与形参的类型必须一致
(  D  )
7、若x,y均定义成int型,z定义为double型,以下不合法的scanf函数调用语句是________。
A、scanf(“%d %x, %le”, &x, &y, &z);
B、scanf(“%2d *%d, %lf” &x, &y, &z);
C、scanf(“%x %*d %o”, &x, &y);
D、scanf(“%x %o%6.2f”, &x, &y, &z);
(  D  )
8、以下关于 c 语言的叙述中正确的是________。
A、C 语言的数值常量中夹带空格不影响常量值的正确表示
B、C 语言中的变量可以在使用之前的任何位置进行定义
C、在 C 语言算术表达式的书写中,运算符两侧的运算数类型必须一致
D、C 语言中的注释不可以夹在变量名或关键字的中间
(  C  )
9、关于return语句,下列正确的说法是________。
A、不能在主函数中出现且在其他函数中均可出现
B、必须在每个函数中出现
C、可以在同一个函数中出现多次
D、只能在除主函数之外的函数中出现一次
(  A  )
10、以下叙述中正确的是________。
A、构成C程序的基本单位是函数
B、可以在一个函数中定义另一个函数
C、main()函数必须放在其他函数之前
D、函数定义的格式是K&R格式

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

(  D  )
1、有以下程序
void fun(int*a,int n)/*fun函数的功能是将a所指数组元素从大到小排序*/
{
int t,i,j;
for(i=0;i<n一1;j++) for(j=i+1;j<n;j++) if(a[i]
}
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]);
printf("n"):
}
}
程序运行的结果是________。
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  )
2、若函数中有定义语句:int k; 则
A、系统将自动给k赋初值0
B、这时k中的值无定义
C、系统将自动给k赋初值-1
D、这时k中无任何值
(  C  )
3、程序流程图中指有箭头的线段表示的是________。
A、图元关系
B、数据流
C、控制流
D、调用关系
(  D  )
4、设有如下定义:
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;
(  B  )
5、设p1和p2是指向同一个int型一维数组的指针变量,k为int型变量,则不能正确执行的语句是________。
A、k=* p1+ * p2
B、p2=k;
C、p1=p2;
D、k=* p1 * (* p2);
(  D  )
6、________不属于程序的基本控制结构。
A、顺序结构
B、分支结构
C、循环结构
D、递归结构
(  D  )
7、以下叙述中正确的是________。
A、书写源程序时,必须注意缩进格式,否则程序会有编译错误
B、程序的主函数名除 main 外,也可以使用 main 或_main
C、程序可以包含多个主函数,但总是从第一个主函数处开始执行
D、在 C 程序中,模块化主要是通过函数来实现的
(  B  )
8、以下程序的输出结果为________。
main()
{
int a=1,b=2,c=3,d=4,e=5;
printf("%d\n",func((a+b,b+c,c+a),(d+e)));
}
int func(int x,int y)
{
return(x+y);
}
A、15
B、13
C、9
D、函数调用出错
(  B  )
9、int a[10]; 给数组a的所有元素分别赋值为1、2、3、……的语句是________。
A、for(i=1;i<11;i++)a[i]=i;
B、for(i=1;i<11;i++)a[i-1]=i;
C、for(i=1;i<11;i++)a[i+1]=i;
D、for(i=1;i<11;i++)a[0]=1;
(  B  )
10、c语言程序中必须有的函数是________。
A、#include "stdio.h"
B、main
C、printf
D、scanf

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

(  D  )
1、有以下定义和语句
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;
(  C  )
2、设有以下说明语句 struct stu
{
int a ;
float b ;
}
stutype ;
则下面的叙述不正确的是______。
A、struct 是结构体类型的关键字
B、struct stu 是用户定义的结构体类型
C、stutype 是用户定义的结构体类型名
D、a 和 b 都是结构体成员名
(  A  )
3、程序中有下面的说明和定义
struct abc
{
int x ;
char y ;
}
struct abc s1 , s2 ;
则会发生的情况是______。
A、编译出错
B、程序将顺利编译、连接、执行
C、能顺利通过编译、连接、但不能执行
D、能顺利通过编译、但连接出错
(  C  )
4、设
struct data
{
int a;
float b;
} c,*p=&c;
,引用正确的是________。
A、*p.a
B、p.b
C、p->a
D、*p->b
(  B  )
5、有以下结构体说明和变量的定义,且指针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  )
6、有以下结构体说明、变量定义和赋值语句
struct std
{
char name[10];
int age;
char sex;
}
s[5],*ps;
ps=&s[0];
则以下scanf函数调用语句中错误引用结构体变量成员的是________。
A、scanf("%S",S[0].name);
B、scanf("%d",&s[0].age);
C、scanf("%C",&(ps->sex));
D、scanf("%d",ps->age);
(  B  )
7、以下对枚举类型名的定义中正确的是________。
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"};
(  B  )
8、c语言中,定义结构体的保留字是________。
A、union
B、struct
C、enum
D、typedef
(  D  )
9、当定义一个结构体变量时,系统为它分配的内存空间是________。
A、结构中一个成员所需的内存容量
B、结构中第一个成员所需的内存容量
C、结构体中占内存容量最大者所需的容量
D、结构中各成员所需内存容量之和
(  A  )
10、在C语言中,下面那种数据类型不属于构造类型____
A、枚举类型
B、数组类型
C、结构体类型
D、共用体类型

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

(  D  )
1、有以下程序
main()
{
int i=1,j=2,k=3;
if(i++==1&&(++j==3||k++==3))
printf("%d %d %d ",i,j,k);
}
程序运行后的输出结果是________。
A、1 2 3
B、2 3 4
C、2 2 3
D、2 3 3
(  D  )
2、以下程序的输出结果是________。
main( )
{
int x=11,y=11;
printf("%d%d\\n",x--,--y);
}
A、11,11
B、10,10
C、10,11
D、11,10
(  D  )
3、有以下程序
#include<stdio.h>
int f(int x);
main() {
int n=1,m;
m=f(f(f(n)));
printf("%d\n",m);
}
int f(int x) {
return x*2;
}
程序运行后的输出结果是________。
A、1
B、2
C、4
D、8
(  D  )
4、以下程序的输出结果是______。
main()
{
char a[]="programming",b[]="language";
char *p1,*p2;
int i;
p1=a;
p2=b;
for(i=0;i<7;i++)
if(*(p1+i)==*(p2+i))
printf("%c",*(p1+i));
}
A、gm
B、rg
C、or
D、ga
(  A  )
5、有以下程序:
main()
{
char a,b,c,d;
scanf("%c,%c,%d,%d",&a,&b,&c,&d);
printf("%c,%c,%c,%c\n",a,b,c,d);
}
若运行时从键盘上输入:6,5,65,66<回车>,则输出结果是 ______。
A、6,5,A,B
B、6,5,65,66
C、6,5,6,5
D、6,5,6,6
(  B  )
6、程序片段:short i=65536; printf("%d\n",i);
的输出结果是________。
A、65536
B、0
C、有语法错误,无输出结果
D、-1
(  D  )
7、有以下程序
main()
{
int a[3][3],*p,i;
p=&a[0][0];
for(i=0;i<9;i++) p[i]=i;
for(i=0;i<3;i++) printf("%d",a[1][i]);
}
程序运行后的输出结果是______。
A、012
B、123
C、234
D、345
(  C  )
8、有以下程序
main()
{
char *s[]={"one","two","three"},*p;
p=s[1];
printf("%c,%s\n",*(p+1),s[0]);
}
执行后输出结果是______。
A、n,two
B、t,one
C、w,one
D、o,two
(  C  )
9、下列程序执行后的输出结果是________。
main()
{
char x=0xFFFF;printf(”%d”,x--);
}
A、-32767
B、FFFE
C、-1
D、-32768
(  B  )
10、下面程序的运行结果是________。
main( )
{
static int a[3][3]={{3,2,1},{4,5,6},{-2,9,1}};
int i,j,sum=0;
for(i=0;i<3;i++)for(j=0;j<3;j++)
{
if(i==j)sum=sum+a[ij[j]];
}
printf(''sum=%d'',sum);
}
A、sum=10
B、sum=9
C、9
D、10