南昌航空大学C语言程序设计冲刺卷

本试卷为南昌航空大学C语言程序设计冲刺卷,题目包括:理论基础,控制结构,循环结构,数组/指针数组,字符串/字符串指针,函数/函数指针,指针,结构体,程序题。

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

C语言程序设计冲刺卷

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

(  D  )
1、设变量已正确定义,则以下能正确计算f=n!的程序是________。
A、f=0;
for(i=1;i<=n:i+十)f*=i;
B、f=1
for(i=1:i
C、f=l:
for(i=n;i>1;i十+)f*=i;
D、f=1:
for(i=n;j>=2;j--)f*=i;
(  C  )
2、设x=015,则x=x^017的值是________。
A、00001111
B、11111101
C、00000010
D、1 1000000
(  A  )
3、c语言中,合法的字符型常数是________。
A、‘A’
B、“A”
C、65
D、A
(  D  )
4、若有运算符:>、一、<<、%、sizeof,则它们按优先级(由高至低)的正确排列顺序为________。
A、%、sizeof、>、<<、=
B、sizeof、%、>、=、<<
C、sizeof、<<、>、%、=
D、sizeof、%、<<、>、=
(  D  )
5、下列选项中不是字符常量的是________。
A、'\v'
B、'\x2a'
C、'a'
D、"\0"
(  A  )
6、在执行 int a[][3]={ 1,2,3,4,5,6};语句后, a[1][0] 的值是______。
A、4
B、1
C、2
D、5
(  C  )
7、当说明一个共用体变量时系统分配给它的内存是______。
A、各成员所需要内存量的总和
B、共用体中第一个成员所需内存量
C、成员中占内存量最大者所需的容量
D、共用体中最后一个成员所需内存量
(  C  )
8、执行下列语句后,i和n的值为________。 int i=10; int n=i++%5;
A、10,O
B、10,1
C、11,0
D、11,1
(  A  )
9、设有int x=11; 则表达式(x++*1/3)的值是________。
A、3
B、4
C、11
D、12
(  A  )
10、已知英文字母m的ascii码值为109,那么英文字母p的ascii码值是________。
A、112
B、113
C、111
D、114
(  B  )
11、下列选项中非法的字符常量是________。
A、'\t'
B、'\039'
C、','
D、'\n'
(  A  )
12、已知:int n=10; 在下列定义引用的语句中,正确的是________。
A、int &x=n;
B、int x=&n;
C、int &x;
D、int &x=&n;
(  A  )
13、以下表达式的值与 x 无关、其值恒为真的是________。
A、0 < x < 5
B、x>10 && x<5
C、x>10 || x<5
D、x<10 && x>5
(  C  )
14、下列标识符,不合法的是________。
A、abc
B、_d
C、123
D、e1
(  A  )
15、若变量已正确说明为float类型,要通过语句 scanf("%f %f %f",&a,&b,&c); 给a赋予10.0,b赋予22.0,c赋予33.0,正确的输入形式是________。
A、10 22 33
B、10.0,22.0,33.0
C、10.022.033.0
D、10; 22; 33
(  B  )
16、运行下述程序段后, i 值为4 的是________。
A、int i=1,j=0;
B、inti=1 ,j=1;I=j=((i=3)++); i+=i+=2;
C、int i==0,j=0;
D、int i=0 , j=1;15(i=2,i+(j=2)); (j==1)?i+=3:i=2;
(  C  )
17、以下不合法的用户标识符是________。
A、j2_KEY
B、Double
C、4D.
D、_8_
(  D  )
18、double x; scanf("%lf",&x); 不可以赋值给x变量的常量是________。
A、123
B、100000
C、A'
D、"abc"
(  A  )
19、指针变量p进行自加运算(即 执行p++;)后,地址偏移值为4,则其 数据类型为________。
A、int
B、float
C、double
D、char
(  C  )
20、以下运算符中,优先级最高的运算符是()。
A、*=
B、>=
C、(类型)
D、+

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

(  A  )
1、有如下程序:
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  )
2、当从键盘上输入字符"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  )
3、下列说法中不正确的是________。
A、switch语句功能可以由if-else语句实现
B、若用于比较的数据类型为double,则不能用switch语句来实现
C、if-else语句的执行效率总是比switch语句高
D、case子句可以有多个语句,并且不需要用大括号””括起来
(  C  )
4、若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  )
5、下列叙述中正确的是________。
A、程序执行的效率与数据的存储结构密切相关
B、程序执行的效率只取决于程序的控制结构
C、程序执行的效率只取决于所处理的数据量
D、以上三种说法都不对
(  D  )
6、若a和b均是整型变量并已正确赋值,正确的switch语句是________。
A、switch(a+b);……
B、switch(a+b*3.0)……
C、switch a……
D、switch(a%b)……
(  A  )
7、switch语句不能用于下列哪种数据类型 ( )
A、double
B、byte
C、short
D、char
(  C  )
8、有以下程序
main()
{
int i=1,j=1,k=2;
if((j++‖k++)&&i++)
printf("%d,%d,%d\n",i,j,k);
}
执行后输出结果是________。
A、1,1,2
B、2,2,1
C、2,2,2
D、2,2,3
(  B  )
9、以下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);
(  A  )
10、执行下面语句后的输出为____
int i= -1;
if (i < =0)printf("****\n");
else printf("%%%%\n");
A、****
B、%%%%
C、%%%%C
D、有语法错,不能执行

三、循环结构 (共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);
(  C  )
2、若有以下程序段,w和k都是整型变量:
w=k;
LB:if(w==0)
goto LE;
w--;
printf("*") goto LB;
LE;
则不能与上面程序段等价的循环语句是________。
A、for(w=k;w!—0;w--)printf(”*”);
B、for(w=k;W;--w)printf(”*”);
C、w=k;
while(w--!=O)printf(”*”);
D、w=k:
W++;do
{
w--;printf(”*”);)while(w!=O);
(  D  )
3、有以下程序:
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
(  C  )
4、以下for循环是________。 for(x=0,y=0;(y!=123) && (x<4);x++)
A、无限循环
B、循环次数不定
C、执行4次
D、执行3次
(  B  )
5、下列选项中均属于c语言合法的标识符是________。
A、Int
#sub
break
B、_3ab
FOR
Long
C、3a
printf
a_b
D、WORD
auto
include
(  A  )
6、下列程序是死循环的是________。
A、for(;;)
B、int s=36;
while(s)=s;
C、int m=10;
dom--;while(m>0);
D、int n=5;
while(n>1)
n--;
if(n<0)break;
(  D  )
7、有以下程序:
#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
(  A  )
8、有以下程序:
#include<stdio.h>
main() {
int c;
while((c=getchar())!=’\n’)
switch(c-’3’) {
case 0: case 1:putchar(c+4);
case 2:putchar(c+4);
break;
case 3:putchar(c+3);
case 4:putchar(c+3);
break;
}
printf("\n");
}
从第一列开始输入数据(<cr>代表一个回车符):3845<cr>,则程序输出结果为________。
A、77889
B、77868
C、776810
D、77886610
(  D  )
9、有以下程序段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
(  A  )
10、设有循环语句"for(i=1;i>0;i++) i++; ",其循环执行的次数是________。
A、无限
B、0
C、3
D、4

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

(  C  )
1、avg功能是求整形数组中的前若干个元素的平均值,设数组元素个数最多不超过则下列函数说明语句错误的是________。
A、int avg(int*a,int n);
B、int avg(int a[lO],int n);
C、int avg(int a,int n);
D、int avg(int a[],int n);
(  B  )
2、以下能正确定义一维数组的选项是________。
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";
(  D  )
3、若有定义: int a[3][4]; 不能表示数组元素 a[1][1] 。
A、*(a[1]+1)
B、*(&a[1][1])
C、(*(a+1)[1])
D、*(a+5)
(  B  )
4、若有以下定义和语句: int w[2][3] ,( *pw ) [3] ; pw=w ; 则对 w 数组元素非法引用是______。
A、* ( w[0]+2 )
B、* ( pw+1 ) [2]
C、pw[0][0]
D、* ( pw[1]+2 )
(  B  )
5、二维数组a的每个元素是由6个字符组成的串,其行下标i=0,1,…,8,列下标j=1,2,…,10。若a按行先存储,元素a[8,5]的起始地址与当a按列先存储时的元素( )的起始地址相同。设每个字符占一个字节。
A、A[8,5]
B、A[3,10]
C、A [5,8]
D、A[0,9]
(  B  )
6、若要定义a为3×4的二维数组,正确的定义语句是________。
A、float a(3,4);
B、float a[3][4];
C、float a(3)(4);
D、float a[3,4];
(  B  )
7、int a[5],*p=a; 对a数组元素地址的正确引用是________。
A、p+5
B、&a[0]
C、&a+1
D、*a+1
(  D  )
8、已知三个字符为a、z和8,按它们的ascii码值升序排序,结果是________。
A、8,a,Z
B、a,8,Z
C、a,Z,8
D、8,Z,a
(  D  )
9、在执行int arr[][3] = {1,2,3,4,5,6 },语句后,arr[1][0]的值为________。
A、4
B、1
C、2
D、5
(  A  )
10、已定义两个字符数组a,b,则以下正确的输入格式 是________。
A、scanf("%s%s", a, b);
B、get(a, b);
C、scanf("%s%s", &a, &b);
D、gets("a"),gets("b");

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

(  B  )
1、下列数据中为字符串常量的是________。
A、'A'
B、"9"
C、How do you do
D、'$abd'
(  D  )
2、下列关于boolean类型的叙述中,正确的是________。
A、可以将boolean类型的数值转换为int类型的数值
B、可以将boolean类型的数值转换为字符串
C、可以将boolean类型的数值转换为char类型的数值
D、不能将boolean类型的数值转换为其他基本数据类型
(  A  )
3、以下选项中合法的c语言字符常量是________。
A、'\t'
B、"A"
C、67
D、A
(  B  )
4、以下程序段的执行结果为
#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  )
5、有以下程序
void fun(char s[][10],int n)
{
char t;int i,j;
for(i=0;i<N-1;I++)
for(j=i+1,j<N;J++)}
/*比较字符串的首字符大小,并交换字符
串的首字符*/
if(s[i][0])>s[j][0]){
t=s[i][0];s[i][0]=s[j][0];s[j][0]=t;
}
main()
{
char ss[5][10]={“bcc”,”bbcc”,”xy”,”aaaacc”,”aabcc”};
fun(ss,5);printf(”%s,%s”,ss[0],ss[4]);
}
程序运行结果是________。
A、xy,aaaacc
B、aaaacc,xy
C、XCC,aabcc
D、ace,xabcc
(  D  )
6、下面关于编译预处理命令,正确的是________。
A、#define char CHAR
B、#Define E 0.0000034
C、##define FALSE 0
D、#define DIM 26
(  A  )
7、以下选项中关于 c 语言常量的叙述错误的是________。
A、经常被使用的变量可以定义成常量
B、常量分为整型常量、实型常量、字符常量和字符串常量
C、所谓常量,是指在程序运行过程中,其值不能被改变的量
D、常量可分为数值型常量和非数值型常量
(  A  )
8、下面程序段输出两个字符串中对应相等的字符。请分析程序填空。
char x[]="programming";
char y[]="fortran";
int i=0;
while (x[i]!='\0'&&y[i]!='\0')
if (x[i]==y[i]) printf("%c", _____);
else i++;
A、x[i++]
B、y[++i]
C、x[i]
D、y[i]
(  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);
(  B  )
10、以下语句中,不能实现回车换行的是()。
A、printf("\n");
B、putchar("\n");
C、fprintf(stdout,"\n");
D、fwrite("\n",1,1,stdout);

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

(  B  )
1、在下列语句中,其含义为"q是一个函数指针,该指针指向整型数据"的定义语句是________。
A、int**q;
B、int(*q)();
C、int *q;
D、int *q();
(  D  )
2、若函数调用时的实参为变量时,以下关于函数形参和实参的叙述中正确的是________。
A、函数的实参和其对应的形参共占同一存储单元
B、形参只是形式上的存在,不占用具体存储单元
C、同名的实参和形参占同一存储单元
D、函数的形参和实参分别占用不同的存储单元
(  B  )
3、下列关于c语言的说法错误的是________ 。
A、C程序的工作过程是编辑、编译、连接、运行
B、C语言不区分大小写。
C、C程序的三种基本结构是顺序、选择、循环
D、C程序从main函数开始执行
(  D  )
4、c 语言规定,函数返回值的类型是由 。
A、return 语句中的表达式类型所决定
B、调用该函数时的主调函数类型所决定
C、调用该函数时系统临时决定
D、在定义该函数时所指定的函数类型决定
(  B  )
5、以下叙述中正确的是______。
A、全局变量的作用域一定比局部变量的作用域范围大
B、静态 (static) 类别变量的生存期贯穿于整个程序的运行期间
C、函数的形参都属于全局变量
D、未在定义语句中赋初值的 auto 变量和 static 变量的初值都是随机值
(  C  )
6、在printf的格式字符中,e格式字符的作用是________。
A、以十六进制无符号形式输出整数
B、以带符号的十进制形式输出整数
C、以指数形式输出实数
D、以字符形式输出,且只输出一个字符
(  C  )
7、当用户要求输入的字符串中含有空格时,应使用的输入函数是________。
A、getchar()
B、scanf()
C、gets()
D、getc()
(  A  )
8、以下叙述中错误的是______。
A、函数形参的值也可以传回给对应的实参
B、函数调用可以作为一个独立的语句存在
C、若函数有返回值,必须通过return语句返回
D、C程序必须由一个或一个以上的函数组成
(  C  )
9、以下说法错误的是________。
A、C语言没有输入输出语句
B、运算符%的作用是求余
C、printf()是输入函数
D、保留字又称关键字,是指被赋予特定含义和有专门用途的标识符
(  C  )
10、c 语言主要是借助以下哪种手段来实现程序的模块化()
A、使用丰富的数据类型
B、定义常量和外部变量
C、定义函数
D、使用三种基本结构语句

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

(  D  )
1、有数组:char a[ ]="this is an egg"; 。请问该数组到底占了几个字节?
A、11
B、12
C、14
D、15
(  A  )
2、对于 c 语言的函数,下列叙述中正确的是 ______ __.
A、函数的定义不能嵌套,但函数调用可以嵌套
B、函数的定义可以嵌套,但函数调用不能嵌套
C、函数的定义和调用都不能嵌套
D、函数的定义和调用都可以嵌套
(  A  )
3、设有定义 double a[10],*s=a; 以下能够代表数组元素a[3]的是______。
A、*(s+3)
B、(*s)[3]
C、*s[3]
D、*s+3
(  C  )
4、下列的程序用来输出两个字符串前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  )
5、以下不能将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++];);
(  C  )
6、有以下程序:
main()
{
char str[]="xyz", *ps=str;
while(*ps) ps++;
for(ps--;ps-str>=o;ps--) puts(ps);
}
执行后的输出结果是________。
A、yz
xyz
B、z
yz
C、z
yz
xyz
D、x
xy
xyz
(  B  )
7、若有定义语句:double x[5]= {1.0,2.0,3.0,4.0,5.0 }, *p=x;
则错误引用x数组元素的是______。
A、*p
B、x[5]
C、*(p+1)
D、*x
(  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、若调用 fputc 函数输出字符成功,则其返回值是()。
A、EOF
B、1
C、0
D、输出的字符
(  D  )
10、求平方根函数的函数名为()。
A、cos
B、abs
C、pow
D、sqrt

八、结构体 (共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、有以下程序
struct stu
{
char name[10];
int num;
float totalscore;
};
void f(struct stu *p)
{
struct stu s[2]={{"sundan",20044,550} ,{"penghua",20045,537}}, *q=s;
++p ;
++q;
*p=*q;
}
main()
{
struct stu s[3]= {{"yangsan",20041,703},{"lisiguo",20042,580}};
f(s);
printf("%s %d %3.0f\n", s[1].name, s[1].num, s[1].totalscore);
}
程序运行后的输出结果是________。
A、SunDan 20044 550
B、Penghua 20045 537
C、LiSiGuo 20042 580
D、SunDan 20041 703
(  A  )
3、有以下程序 struc stu
{
char name[10];
int num;
};
void f1(struct stu c)
{
struct stu b={"lisiguo",2042};
c=b;
}
void f2(struct stu *c)
{
struct stu b={"sundan",2044} ;
*c=b;
}
main( )
{
struct stu a={"yangsan",2041},b={"wangyin",2043} ;
f1(a);
f2(&b);
printf("%d %d\n",a.num,b.num);
}
执行后的输出结果是________。
A、2041 2044
B、2041 2043
C、2042 2044
D、2042 2043
(  C  )
4、有以下程序
struct stu
{
char name[10];
int num;
int score;
}
;
main( )
{
struct stu s[5]={{"yangsan",20041,703} , {"lisiguo",20042,580 , {"wangyin",20043,680}, {"sundan",20044,550}, {"penghua",20045,537}},*p[5],*t;
int i,j;
for(i=0;i<5;i++) p[i]=&s[i];
for(i=0;i<4;i++) for(j=i+1;j<5;j++) if(p[i]->score>p[j]->score)
{
t=p[i];
p[i]=p[j];
p[j]=t;
}
printf("5d %d\n",s[1].score,p[1]->score);
}
执行后输出结果是________。
A、550 550
B、680 680
C、580 550
D、580 680
(  A  )
5、以下结构体类型说明和变量定义中正确的是________。
A、typedef struct
int n;char c;REC;
REC t1,t2;
B、struet REC;
int n;char c;;
REC t1,t2;
C、typedef struct REC;
int n=0;char c='A';t1,t2;
REC t1,t2;
D、struct
int n;char c;REC;
(  A  )
6、c 语言中的基本数据类型包括
A、整型、实型、字符型
B、整型、字符型、数组
C、整型、实型、逻辑型
D、整型、实型、结构体
(  C  )
7、下面程序的输出结果为________。
struct st
{
int x;
int *y;
}
*p;
int dt[4]={10,20,30,40};
struct st aa[4]={50,&dt[0],60,&dt[1],70,&dt[2],80,&dt[3]};
void main()
{
p=aa;
printf("%d ", ++p->x);
printf("%d ", (++p)->x);
printf("%d ", ++(*p->y));
}
A、10 20 20
B、50 60 21
C、51 60 21
D、60 70 31
(  D  )
8、若有下面的说明和定义,则sizeof(struct aa)的值是______。
struct aa
{
int r1;
double r2;
float r3;
}
maya;
A、20
B、18
C、14
D、16
(  B  )
9、下面赋值表达式不正确的是__________________.
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  )
10、结构体类型的定义允许嵌套是指()。
A、成员是已经或正在定义的结构体型
B、成员可以重名
C、结构体型可以派生
D、定义多个结构体型

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

(  C  )
1、以下程序的输出结果是
main( )
{
int a= -1,b=1,k;
if((++a<0)&& ! (b-- <=0)) printf("%d %d\n",a,b);
else printf("%d %d\n",b,a);
}
A、-1 1
B、0 1
C、1 0
D、0 0
(  A  )
2、下述程序执行的输出结果是________。
main()
{
char a[2][4];
strcpy(a,"are");
strcpy(a[1],"you");
a[0][3]='&' printf("%s\n",a);
}
A、arec&you
B、you
C、are
D、&.
(  D  )
3、阅读下面的程序
main()
{
int i,j;
char ch;
scanf("%d%c%f",&i,&ch,&j);
printf("%d%2c%7.2f",i,ch,j);
}
如果从键盘上输入 123a123x.12<回车> 则程序的运行结果是________。
A、123a123.00
B、123 a 123.12
C、123a123.12
D、123 a 123.00
(  B  )
4、有以下程序
main()
{
int s=0,a=1,n;
scanf("%d",&n);
do
{
s+=1;
a=a-2;
}
while(a!=n);
printf("%d\n",s);
}
若要使程序的输出值为2,则应该从键盘给n输入的值是________。
A、-1
B、-3
C、-5
D、0
(  B  )
5、下面程序的输出是 ____________.
#include<stdio.h>
void main()
{
int x=023;
printf("%d\n",--x);
}
A、17
B、18
C、23
D、24
(  A  )
6、下面程序段的输出结果是________。
#include<stdio.h>
main()
{
float x=1.236547;
printf("%f\n",(int)(x*1000+0.5)/(float)1000);
}
A、1.237000
B、输出格式说明与输出项不匹配,输出无定值
C、1.236000
D、1.24
(  A  )
7、以下程序的输出结果是________。
main()
{
int x=0x02ff,y=0x0ff00;
printf("%d\n",(x&y)>>410x005f);
}
A、127
B、255
C、128
D、1
(  A  )
8、以下程序的输出结果是_______。
main()
{
char s[]="159",*p;
p=s;
printf("%c",*p++);
printf("%c",*p++);
}
A、15
B、16
C、26
D、59
(  C  )
9、若输入ab,后回车,则程序运行结果为________。
main()
{
static char a[3];
scanf("%s",a);
printf("%c,%c",a[1],a[2]);
}
A、a,b
B、a,
C、b,
D、程序出错
(  C  )
10、以下程序的执行结果是_______.
main()
{
int num = 0;
while( num <= 2 )
{
num++;
printf( "%d,",num );
}
}
A、0,1,2
B、1,2,
C、1,2,3,
D、1,2,3,4,