厦门理工学院2022年计算机C语言试题

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

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

计算机C语言试题

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

(  B  )
1、以下选项中正确的实型常量是________。
A、0
B、3.1415
C、0.329×102
D、871
(  D  )
2、设a、b和c都是int型变量。且a=3,b=4,c=5,则以下的表达式中值为0的表达式是________。
A、a&&.b
B、a<=b
C、a||b+c&&b-c
D、!((a<B)&&!C||1)
(  B  )
3、以下选项中,合法的一组c语言数值常量是________。
A、028
.5e-3
-0xf
B、12.
OXa23
4.5eO
C、.l77
4cl.5
Oabc
D、0x8A
10,000
3.e5
(  A  )
4、在执行 int a[][3]={ 1,2,3,4,5,6};语句后, a[1][0] 的值是______。
A、4
B、1
C、2
D、5
(  B  )
5、设有以下语句char ch1,ch2, scanf("%c%c",&ch1,&ch2);
若要为变量ch1和ch2分别输入字符a和b,正确的输入形式应该是________。
A、A和B之间用逗号间隔
B、A和B之间不能有任何间隔符
C、A和B之间可以用回车间隔
D、A和B之间用空格间隔
(  D  )
6、下列选项不是c关键字的是________。
A、typedef
B、void
C、bool
D、inc
(  A  )
7、下面赋值语句不正确的是________。
A、float f=11.1;
B、double d=5.3E12;
C、double d=3.14159;
D、double d=3.14D;
(  D  )
8、下面赋值语句中正确的是________。
A、a=7+b+c=a+7;
B、a=7+b++=a+7;
C、a=7+b,b++,a+7;
D、a=7+b,C=a+7;
(  B  )
9、若变量已正确定义并赋值,下面符合c语言语法的表达式是________。
A、m:=5
B、c=b=a=l
C、float 8%5
D、x+5=y+2
(  A  )
10、已知[x/2]补=c6h,计算机的机器字长为8位二进制编码,则[x]补= (11) 。
A、8CH
B、18H
C、E3H
D、F1H
(  B  )
11、以下选项中,不能作为合法常量的是________。
A、1.234e04
B、1.234e0.4
C、1.234e+4
D、1.234e0
(  A  )
12、把十六进制数baf转换成二进制数________。
A、101110101111
B、110110101111
C、101110111111
D、111011011111
(  D  )
13、已有定义int a= -2; 和输出语句 printf("%8x",a); 以下正确的叙述是________。
A、整型变量的输出形式只有%d一种
B、%x是格式符的一种,它可以适用于任何一种类型的数据
C、%x是格式符的一种,其变量的值按十六进制输出,但%8x是错误的
D、%8x不是错误的格式符,其中数字8规定了输出字段的宽度
(  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)
(  D  )
15、表示关系1<=x<=100的c语言表达式为________。
A、x>=1 & x<=100
B、x>=1 and x<=100
C、1<=x<=100
D、x>=1 && x<=100
(  C  )
16、判断闭区间*判断实数 x 属于闭区间 [a, b ] 的表达式为 ▁▁▁▁▁
A、x <= [a, b]
B、a <= x <= b
C、a <= x && x <= b
D、a ≤ x && x ≤ b
(  A  )
17、以下说法错误的是________。
A、C 语言中的常量是指在程序运行过程中经常被用到的变量
B、C 语言中的常量是指在程序运行过程中其值不能被改变的量
C、C 语言中的常量可以用一个符号名来代表
D、C 语言中的常量可以用宏来定义
(  A  )
18、若定义语句: int b[ ]= { 1,2,3,4,5},*p=b ;
则表达式*p++ 的值是________。
A、1
B、2
C、b[0] 的地址
D、b[1] 的地址
(  B  )
19、C语言源程序名的后缀是
A、.exe
B、.c
C、.obj
D、.cp
(  B  )
20、以下正确的说法是()。
A、用户若需调用标准库函数,调用前必须重新定义
B、用户可以重新定义标准库函数,若如此,该函数将失去原有含义
C、系统根本不允许用户重新定义标准库函数
D、用户若需调用标准库函数,调用前不必使用预编译命令将该函数所在文件包括到用户源文件中,系统自动去调

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

(  C  )
1、设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  )
2、c语言对嵌套的if语句的规定是:else总是与 配对。
A、与之前最近的if
B、第一个if
C、缩进位置相同的if
D、与之前最近的且尚未配对的if
(  A  )
3、以下程序的输出结果是
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
(  D  )
4、下列描述正确的是________。
A、表示m>n为true或m<n为true的表达式为m>n&&m<n
B、switch语句结构中必须有default语句
C、if语句结构中必须有else语句
D、如果至少有一个操作数为true,则包含||运算符的表达式为true
(  C  )
5、switch语句中表达式(expression)的值不允许用的类型是________。
A、byte
B、int
C、boolean
D、char
(  A  )
6、有以下程序
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
(  C  )
7、下列程序的输出结果是________。
main ()
{
int a = 4, b = 5, c;
if (a < b)
{
c = a * b;
printf ("%d,%d,%d\n", b, a, c);
}
else
{
c = b / a;
printf ("%d,%d,%d\n", b, a, c);
}
}
A、4,5,12
B、20
C、5,4,20
D、12
(  B  )
8、以下if语句书写正确的是________。
A、if(x=0;)
printf("%f",x);
elseprintf("%f",-x);
B、if(x>0)
x=x+1;printf("%f",x);
else printf("%f",-x);
C、if(x>0);
x=x+1;printf("%f",x);
else printf("%f",-x);
D、if(x>0)
x=x+1;printf("%f",x)
else printf("%f",-x);
(  B  )
9、c语言的switch语句中case后____
A、只能为常量
B、只能为常量或常量表达式
C、可为常量或表达式或有确定值的变量及表达式
D、可为任何量或表达式
(  A  )
10、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

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

(  A  )
1、要求通过while循环不断读人字符,当读入字母n时结束循环,若变量已正确定义,下列正确的程序段是________。
A、while((ch=getchar())!='N')printf(”%c”,ch);
B、while(ch=getchar()!='N')printf(”%c”,ch);
C、while(ch=getchar()=='N')printf(”%c”,ch);
D、while((ch getchar())=='N')printf(”%c”,ch);
(  A  )
2、有以下程序
#include <stdio.h>
main()
{
int c;
while ((c=getchar())!='\n')
{
switch(c-'2')
{
case 0: case 1: putchar(c+4);
case 2: putchar(c+4);
break;
case 3: putchar(c+3);
default: putchar(c+2);
break;
}
}
printf("\n");
}
从第一列开始输入以下数据,<cr>代表一个回车符。 2473<cr> 程序的输出结果是________。
A、668977
B、668966
C、66778777
D、6688766
(  C  )
3、有以下程序
#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
(  A  )
4、下列各循环语句中,不是死循环的是________。
A、int i=100;
while(i) {
i=i%100+1;
if(i==20)
break;
}
B、int i,sum=0;
for(i=1;;i++)
sum=sum+1;
C、int k=0;
do
++k;
while(k>=0);
D、int s=3379;
while(s++%2+3%2)
s++;
(  A  )
5、在循环结构中,______可以使得同一组语句一次也不执行。
A、当型循环
B、直到型循环
C、都不能实现
D、do-while语句
(  C  )
6、有以下程序
main()
{
int i;
for(i=1;i<=40;i++)
{
if(i++%5==0) if(++i%8==0) pfintf("%d",i);
}
printf("\n");
}
执行后的输出结果是________。
A、5
B、24
C、32
D、40
(  C  )
7、有以下程序:
main() {
int k=4,n=0;
for(; n<k;) {
n++;
if(n%3!=o) continue;
k--;
}
printf("%d,%d\n",k,n);
}
程序运行后的输出结果是________。
A、1,1
B、2,2
C、3,3
D、4,4
(  D  )
8、程序设计语言中________。
A、while 循环语句的执行效率比do-while 循环语句的执行效率高
B、while 循环语句的循环体执行次数比循环条件的判断次数多1,而do-while 语句的循环体执行次数比循环条件的判断次数少1
C、while 语句的循环体执行次数比循环条件的判断次数少1,而do-while 语句的循环体执行次数比循环条件的判断次数多1
D、while 语句的循环体执行次数比循环条件的判断次数少1,而do-while 语句的循环体执行次数等于循环条件的判断次数
(  D  )
9、下面有关for循环的正确描述是________。
A、for循环只能用于循环次数已经确定的情况
B、for循环是先执行循环体语句,后判断表达式
C、在for循环中,三个表达式都不能省略
D、for循环的循环体语句中,可以包含多条语句,但必须用大括号括起来
(  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分)

(  D  )
1、下列说法正确的是________。
A、在c语言中,可以使用动态内存分配技术定义元素个数可变的数组
B、在C语言中,数组元素的个数可以不确定,允许随机变动
C、在C语言中,数组元素的数据类型可以不一致
D、在C语言中,定义一个数组后,就确定了它所容纳的元素的个数
(  C  )
2、下述对c语言字符数组的描述中错误的是________。
A、字符数组可以存放字符串.
B、字符数组中的字符串可以整体输入、输出.
C、可以在赋值语句中通过赋值运算符"="对字符数组整体赋值.
D、不可以用关系运算符对字符数组中的字符串进行比较.
(  B  )
3、以下能正确定义一维数组的选项是________。
A、int a[5]={
0,1,2,3,4,5};
B、char a[]={
1,2,3,4,5,6};
C、char a={'s','d','k'};
D、int a[5]="0123";
(  A  )
4、设有如下程序段 char s[20]= "bejing",*p; p=s; 则执行p=s; 语句后,以下叙述正确的是________。
A、可以用*p表示s[0]
B、s数组中元素的个数和p所指字符串长度相等
C、s和p都是指针变量
D、数组s中的内容和指针变量p中的内容相等
(  D  )
5、在下面语句中,其含义为"p为指向含n个元素的一维数组的指针变量"的定义语句是________。
A、int p [n]
B、int * p( );
C、int * p(n);
D、int( * p)[n]
(  A  )
6、若在以下定义和赋值语句,则才s数组的第i行第j列(假设i,j已正确说明并赋值)元素地址的合法引用为 int s[2][3]=0,( *p)[3]; p=s;
A、*(*(p+i)+j)
B、*(p[i]+j)
C、(p+i)+j
D、(*(p+i))[j]
(  C  )
7、下面程序的运行结果是
#include<stdio.h>
main()
{
int a=28,b;
char s[10],*p;
p=s;
do
{
b=a%16;
if(b<10) *p=b+48;
else *p=b+55;
p++;
a=a/5;
}
while(a>0);
*p='\0';
puts(s);
}
A、10
B、C2
C、C51
D、\0
(  D  )
8、下列能正确定义字符串的语句是________。
A、char str[]='\64';
B、char str="kx43";
C、char str=";
D、char str[]="\0";
(  B  )
9、对于int *pa[5]; 的描述,以下哪个选项是正确的
A、pa是一个指向数组的指针,所指向的数组是五个int类型的指针
B、pa是一个具有五个元素的指针数组,每个元素都是一个int类型的指针
C、pa[5]表示某个数的第五个元素的值
D、pa是一个指向某个数组中第五个元素的指针,该元素是int类型的变量
(  D  )
10、若char a[10]; 已正确定义,以下语句中不能从键盘上给a数组的 所有元素输入值的语句是________。
A、gets(a);
B、scanf("%s",a);
C、for(i=0;i<10;i++)a[i]=getchar();
D、a=getchar();

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

(  A  )
1、以下不能正确进行字符串赋初值的语句是________。
A、char str[5]="good!";
B、char str[]="good!";
C、char *str="good!";
D、char str[5]={‘g',‘o',‘o',‘d'};
(  A  )
2、下列数据中属于"字符串常量"的是________。
A、“a”
B、{
ABC}
C、‘abc\0’
D、‘a’
(  C  )
3、下面各语句行中,能正确进行字符串赋值操作的语句是______。
A、char ST[5]={"ABCDE"} ;
B、char S[5]={'A' , 'B' , 'C' , 'D' , 'E'} ;
C、char *S ; S="ABCDE" ;
D、char *S ; scanf ( "%S" , S );
(  D  )
4、下列字符串中不能作为c标识符使用的是________。
A、WHILE
B、user
C、_lvar
D、9stars
(  B  )
5、下列关于串的叙述中,哪一条是正确的( )
A、串是由至少1个字符组成的有限序列
B、串中字符的数目就是串的长度
C、空串就是由空格构成的串
D、串只能顺序存储
(  B  )
6、设有以下程序段: int a[5]=0,*p,*q; p=a; q=a; 则下列选项中,合法的运算是________。
A、p+q
B、p-q
C、p*q
D、p%q
(  D  )
7、在宏定义#define PI 3.14159中,用宏名代替一个________。
A、常量
B、单精度数
C、双精度数
D、字符串
(  D  )
8、判断字符串a 和b 是否相等,应当使用。
A、if(a==b)
B、if(a=b)
C、if(strcmp(a,b))
D、if(strcmp(a,b)==0)
(  D  )
9、下面描述正确的是________。
A、两个字符串包含的字符个数相同时,才能比较字符串
B、字符个数多的字符串比字符个数少的字符串大
C、字符串"STOP" 与"STOP■"相等
D、字符串"That" 小于字符串"The"
(  A  )
10、下面程序的功能是将字符串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]

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

(  C  )
1、以下叙述正确的是 。
A、在对一个C程序进行编译的过程中,可发现注释中的拼写错误
B、在C程序中,main函数必须位于程序的最前面
C、C语言本身没有输入输出语句
D、C程序的每行中只能写一条语句
(  A  )
2、是构成c语言程序的基本单位。
A、函数
B、过程
C、子程序
D、子例程
(  B  )
3、以下叙述中正确的是______。
A、全局变量的作用域一定比局部变量的作用域范围大
B、静态 (static) 类别变量的生存期贯穿于整个程序的运行期间
C、函数的形参都属于全局变量
D、未在定义语句中赋初值的 auto 变量和 static 变量的初值都是随机值
(  C  )
4、以下程序的输出结果是________。
#include <stdio.h>
void swap(int*a, int *b)
{
int*t;
t=a;
a=b;
b=t;
}
main()
{
int i=3, j=5, *p=&i, *q=&j;
swap(p, q);
printf(1%d %d , *p, *q);
}
A、23
B、34
C、35
D、45
(  B  )
5、c语言中,函数值类型的定义可以缺省,此时函数值的隐含类型是________。
A、void
B、int
C、float
D、double
(  C  )
6、以下正确的说法是________。
A、定义函数时,形参的类型说明可以放在函数体内
B、return后边的值不能为表达式
C、如果函数值的类型与返回值类型不一致,以函数值类型为准
D、如果形参与实参类型不一致,以实参类型为准
(  D  )
7、vb的3种结构化程序设计的3种基本结构是________。
A、选择结构、过程结构、顺序结构
B、递归结构、选择结构、循环结构
C、过程结构、转向结构、递归结构
D、选择结构、顺序结构、循环结构
(  C  )
8、关于函数返回值类型和返回值表达式的类型的描述中,错误的是________。
A、函数返回值类型决定了返回值表达式的类型
B、函数返回值的类型是在定义函数时确定的,在函数调用时不能改变
C、函数返回值的类型就是返回值表达式的类型
D、函数返回值表达式类型与返回值类型不同时,函数表达式类型应转换成函数返回值类型
(  A  )
9、两次运行下面的程序,如果从键盘上分别输入3和2,则输出结果是________。
#include<stdio.h>
main() {
int x;
scanf("%d",&x);
if(x++>2)printf("%d",x);
else printf("%d\n",x--);
}
A、4和3
B、4和2
C、4和1
D、3和2
(  B  )
10、若执行 fopen 函数时发生错误,则函数的返回值是()。
A、地址值
B、0
C、1
D、EOF

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

(  B  )
1、设a为存放(短)整型的一维数组,如果a的首地址为p,那么a中第i 个元素的地址为( )。
A、P+i*2
B、P+(i-1)*2
C、P+(i-1)
D、P+i
(  D  )
2、若有说明语句:double*p,a; 则通过scanf语句正确给输入项读人数据的程序段是________。
A、*p=&a;scanf("%1f”,p);
B、*p=&a;scanf("%f",p);
C、p=&a;scanf("%",*p);
D、p=&a;scanf("%1f",p);
(  B  )
3、若函数中有定义语句:int k; 则
A、系统将自动给k赋初值0
B、这时k中的值无定义
C、系统将自动给k赋初值-1
D、这时k中无任何值
(  D  )
4、合法的数组定义是 __________.
A、int a[6]={"string"};
B、int a[5]={0,1,2,3,4,5};
C、char a={"string"};
D、char a[]={0,1,2,3,4,5};
(  B  )
5、设宏定义#define PI 3.1415926,用宏名PI替换的是________。
A、算术表达式
B、字符串
C、单精度实型数
D、双精度实型数
(  D  )
6、下列关于函数参数的叙述中,正确的是________。
A、在函数原型中不必声明形参类型
B、函数的实参和形参共享内存空间
C、函数形参的生存期与整个程序的运行期相向
D、函数的形参在函数被调用时获得初始值
(  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);
(  C  )
8、要调用数学函数时,在 #include命令行中应包含____。
A、"stdio.h"
B、"string.h"
C、"math.h"
D、"ctype.h"
(  B  )
9、在c语言中,不允许有常量的数据类型是________。
A、整型
B、结构型
C、字符型
D、字符串
(  A  )
10、以下叙述中正确的是________。
A、在 C 语言中,常量名也要遵守标识符的命名规则
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
(  A  )
2、有以下程序
struct stu
{
char name[10];
int num;
};
void f(char *name, int num)
{
struct stu s[2]={{"sundan",20044},{"penghua",20045}};
num = s[0].num;
strcpy(name, s[0].name);
}
main()
{
struct stu s[2]={{"yangsan",20041},{"lisiguo",20042}},*p;
p=&s[1];
f(p->name, p->num);
printf("%s %d\n", p->name, p->num);
}
程序运行后的输出结果是________。
A、SunDan 20042
B、SunDan 20044
C、LiSiGuo 20042
D、YangSan 20041
(  B  )
3、有以下程序
#include <stdlib.h>
struct node
{
int num;
struct node *next;
};
main( )
{
struct node *p,*q,*r;
int sum=0;
p=(struct node *)malloc(sizeof(struct node));
q=(struct node *)malloc(sizeof(struct node));
r=(struct node *)malloc(sizeof(struct node));
p->num=1;
q->num=2;
r->num=3;
p->next=q;
q->next=r;
r->next=null;
sum+=q->next->num;
sum+=p->num;
printf("%d\n",sum);
}
执行后的输出结果是________。
A、3
B、4
C、5
D、6
(  B  )
4、设有如下定义:
struct sk
{
int a ;
float b ;
}
data , *p ;
若有 p=&data ;
, 则对 data 中的 a 域的正确引用是______。
A、( *p ) .data.a
B、( *p ) .a
C、p->data.a
D、p.data.a
(  D  )
5、设有以下语句
typedef struct tt
{
char c;
int a[4];
}
cin;
则下面叙述中正确的是______。
A、可以用TT定义结构体变量
B、TT是struct类型的变量
C、可以用CIN定义结构体变量
D、CIN是struct TT类型的变量
(  A  )
6、设有结构体的定义如下:
struct data
{
char c1;
char c2;
}
;
则sizeof(struct data)的值是________。
A、2
B、3
C、4
D、5
(  B  )
7、定义file *fp; 则文件指针fp 指向的是________。
A、文件在磁盘上的读写位置
B、文件在缓冲区上的读写位置
C、整个磁盘文件
D、文件类型结构体
(  C  )
8、下面说法正确的是________。
A、文件指针变量的值是文件当前正在处理的字节地址
B、文件指针变量的值是文件中包含的字符个数
C、文件指针的类型是一种指针类型
D、文件指针的类型是结构体类型
(  C  )
9、static struct
{
int a1;
float a2;
char a3;
}
a[10]={1,3.5,'a'};
说明数组a是地址常量,它有10个结构体型的下标变量,采用静态存 储方式,其中被初始化的下标变量是________。
A、a[1]
B、a[-1]
C、a[0]
D、a[10]
(  A  )
10、在C语言中,下面那种数据类型不属于构造类型____
A、枚举类型
B、数组类型
C、结构体类型
D、共用体类型

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

(  D  )
1、下列程序执行后的输出结果是________。
main()
{
int a[3][3],*p,i,j;
p=&a;
for(i=p;i<9;i++)p[i]=i-i+1;
printf("%d\n",a[1][2]);
}
A、3
B、6
C、9
D、随机数
(  A  )
2、有以下程序:
double f(double x);
main()
{
double a=0;
int i;
for(i=0;i<30;i+=10)a+=f((double)i);
printf("%5.0f\n",a);
}
double f(double x)
{
return x*x+1;
}
程序运行后的输出结果是________。
A、503
B、401
C、500
D、1404
(  B  )
3、有以下程序:
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  )
4、#include <stdio.h>
main()
{
char a,b,c,d;
scanf("%c%c",&a,&b);
c=getchar();
d=getchar();
printf("%c%c%c%c\n",a,b,c,d);
}
当执行程序时,按下列方式输入数据(从第一列开始,<cr>代表回车,注意:回车是一个字符) 12<cr> 34<cr> 则输出结果是:________。
A、1234
B、1.
C、12
D、12
3 34
(  B  )
5、有以下程序
main()
{
int i,t[][3]={9,8,7,6,5,4,3,2,1};
for(i=0;i<3;i++) printf("%d",t[2-i][i]);
}
程序执行后的输出结果是________。
A、7 5 3
B、3 5 7
C、3 6 9
D、7 5 1
(  D  )
6、有以下程序
#include <stdio.h>
void fun(char *t, char *s)
{
while(*t!=0) t++;
while((*t++=*s++)!=0);
}
min()
{
char ss[10]="acc",aa[10]="bbxxyy";
fun(ss,aa);
printf("%s,%s﹨n",ss,aa);
}
程序的运行结果是________。
A、accxyy, bbxxyy
B、axx, bbxxyy
C、accxxyy, bbxxyy
D、accbbxxyy, bbxxyy
(  C  )
7、下面语句的输出结果是_______。 printf("%d\n",strlen("\t\"\065\xff\n"));
A、14
B、8
C、5
D、输出项不合怯,无正常输出
(  C  )
8、以下程序的输出结果是
main ( ) {
double d=3.2;
int x,y;
x=1.2;
y=(x+3.8)/5.0;
printf("%d\n",d*y);
}
A、1.0
B、0.96
C、0
D、1
(  C  )
9、有以下的代码 int a[4]= {1,2,3,4 }; int *p=a; p++; ++p; printf("%d",*p); 的输出结果是________。
A、1
B、2
C、3
D、4
(  B  )
10、下面程序的功能是把316 表示为两个加数的和,使两个加数分别能被13 和11 整除。请选择填空。
#include <stdio.h>
main()
{
int i = 0, j, k;
do
{
i++;
k = 316 - 13 * i;
}
while (______);
j = k / 11;
printf("316=13*%d+11*%d", i, j);
}
A、k/11
B、k%11
C、k/11==0
D、k%11==0