厦门理工学院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'
(  A  )
2、语句while(!e); 中的表达式!e等价于( )。
A、E==0
B、E!=1
C、E!=0
D、E==1
(  A  )
3、下列四组常数中,均是合法整型常量的一组是________。
A、160 0xffff 011
B、-0xcdf 01a 0xe
C、-01 986,012 0668
D、-0x48a 2e5 0x
(  D  )
4、在16位c编译系统上,若定义long a; 则能给a赋40000的正确语句是________。
A、a=20000+20000;
B、a=4000*10;
C、a=30000+10000;
D、a=4000L*10L;
(  A  )
5、若变量均已正确定义并赋值,以下合法的c语言赋值语句是________。
A、x=y=5;
B、x=n%2.5;
C、x+n=l;
D、x=5=4+1
(  B  )
6、以下定义语句中正确的是________。
A、int a=b=0 ;
B、char A=65+1,b='b';
C、float a=1,*b=&a,*c=&b ;
D、double a=0.0,b=1.1;
(  B  )
7、c 语言提供的合法的数据类型关键字是 ___________.
A、Double
B、short
C、integer
D、Char
(  B  )
8、下列一组初始化语句中,正确的是 __________.
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;
(  B  )
9、下列关于自动类型转换的说法中,正确的是________。
A、操作数1是byte类型,操作数2是long类型,结果为byte类型
B、操作数1是byte类型,操作数2是long类型,结果为long类型
C、操作数1是long类型,操作数2是byte类型,结果是byte类型
D、操作数1是long类型,操作数2是byte类型,结果是long类型
(  A  )
10、下列四个不同数制表示的数中,数值最大的是________。
A、二进制数11011101
B、八进制数334
C、十进制数219
D、十六进制数DA
(  D  )
11、在c语言程序中,注释部分从哪开始,到哪结束?()
A、从"("开始到")"结束
B、从REM开始无结束标志
C、无起始标志
D、从"/*"开始,"*/"结束
(  B  )
12、设ch是char型变量,其值为a,且有下面的表达式ch=(ch>='a'&&ch<='z')?(ch-32):ch上面表达式的值是______。
A、a
B、A
C、Z
D、z
(  A  )
13、以下说法错误的是________。
A、C 语言中的常量是指在程序运行过程中经常被用到的变量
B、C 语言中的常量是指在程序运行过程中其值不能被改变的量
C、C 语言中的常量可以用一个符号名来代表
D、C 语言中的常量可以用宏来定义
(  B  )
14、若要判断 char 型变量 c 中存放的是否为小写字母,以下正确的表达式是________。
A、'a'<=c<='z'
B、(c>='a')&&(c<='z')
C、(c>='a')||(c<='z')
D、('a'<=c)AND('z'>=c)
(  D  )
15、以下标识符中,不能作为合法的c用户定义标识符的是________。
A、For
B、printf
C、WORD
D、sizeof
(  C  )
16、经下列语句定义后,sizeof(x),sizeof(y),sizeof(a),sizeof(b)在 微机上的值分别为________。
char x=65;
float y=7.3;
int a=100;
double b=4.5;
A、2,2,2,4
B、1,2,2,4
C、1,4,4,8
D、2,4,2,8
(  A  )
17、若变量均已正确定义并赋值,以下合法的c语言赋值语句是________。
A、x=n/2.5;
B、x==5;
C、x+n=I;
D、5=x=4+1;
(  C  )
18、判断 i 和 j 至少有一个值为非0的表达式是____。
A、i!=0 && j!=0
B、i+j!=0
C、i || j
D、i&&j
(  C  )
19、以下数据中,不正确的数值或字符常量是()。
A、0
B、5L
C、o13
D、9861
(  C  )
20、能将高级语言编写的源程序转换为目标程序的是()。
A、链接程序
B、解释程序
C、编译程序
D、编辑程序

二、控制结构 (共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、运行以下程序后,如果从键盘上输入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
(  D  )
3、下列描述正确的是________。
A、表示m>n为true或m<n为true的表达式为m>n&&m<n
B、switch语句结构中必须有default语句
C、if语句结构中必须有else语句
D、如果至少有一个操作数为true,则包含||运算符的表达式为true
(  C  )
4、若所用变量都已正确定义,则在以下选项中,非法的表达式是________。
A、a!=4||b==1
B、'a'%3
C、'a'=1/2
D、'a'+32
(  A  )
5、若x和y是程序中的两个整型变量,则下列if语句中正确的是________。
A、if(x==0) y=1; else y=2;
B、if(x==0) then y=1 else y=2;
C、if(x==0) y=1 else y=2;
D、if x==0 y=1; else y=2;
(  A  )
6、下列叙述中正确的是________。
A、程序执行的效率与数据的存储结构密切相关
B、程序执行的效率只取决于程序的控制结构
C、程序执行的效率只取决于所处理的数据量
D、以上三种说法都不对
(  C  )
7、设变量x和y均已正确定义并赋值。以下if语句中,在编译时将产生错误信息的是________。
A、if(x++);
B、if(x>y&&y!=0);
C、if(x>0)x- else y++;
D、if(y<0){;} else x++;
(  A  )
8、有以下程序
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
(  A  )
9、选择出合法的if语句(设int x,a,b,c;)________。
A、if(a=b) x++;
B、if(a=<b) x++;
C、if(a<>b) x++;
D、if(a=>b) x++;
(  B  )
10、假定所有变量均已正确定义,下列程序段运行后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

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

(  B  )
1、若变量已正确定义,有以下程序段
int i=0;
do
printf("%d,",i);
while(i++);
printf("%d",i) 其输出结果是________。
A、0,0
B、0,l
C、1,1
D、程序进入无限循环
(  C  )
2、以下描述中正确的是________。
A、由于do-while循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句
B、do-while循环由do开始,用while结束,在while(表达式)后面不能写分号
C、在do-while循环体中,是先执行一次循环,再进行判断
D、do-while循环中,根据情况可以省略while
(  A  )
3、下列while循环的次数是________。 while (int i=0)i--;
A、0
B、1
C、5
D、无限
(  A  )
4、有以下程序:
main()
{
int k=5;
while(--k)printf(”%d”,k-=3);
printf(”n”);
}
执行后的输出结果是________。
A、1
B、2
C、4
D、死循环
(  B  )
5、有以下程序
main()
{
int i, j;
for(i=1;i<4;i++)
{
for(j=i;j<4;j++) printf("%d*%d=%d ",i,j,i*j);
printf("\n");
}
}
程序运行后的输出结果是______。
A、1*1=1 1*2=2 1*3=3
2*1=2 2*2=4 2*3=6
3*1=3 3*2=6 3*3=9
B、1*1=1 1*2=2 1*3=3
2*2=4 2*3=6
3*3=9
C、1*1=1
D、1*1=1 1*2=2
2*1=2 2*2=4
3*3=9
(  B  )
6、关于循环体while的说法下列正确的是________。
A、循环体的执行次数总比条件表达式多一次
B、循环体的执行次数总比条件表达式少一次
C、循环体的执行次数与条件表达式无关
D、循环体的执行次数与条件表达式相等
(  C  )
7、以下描述中正确的是________。
A、由于 do-while 循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句
B、do-while 循环由do开始,用while结束,在 while(表达式)后面不能写分号
C、在 do-while 循环体中,一定要有能使 while 后面表达式的值变为零("假")的操作
D、do-while 循环中,根据情况可以省略 while
(  A  )
8、执行以下循环语句时,下列说法正确的是________。x = -1;
do
{
x = x * x;
}
while (x == 0);
A、循环体将执行一次
B、循环体将执行两次
C、循环体将执行无限次
D、系统将提示有语法错误
(  A  )
9、设n 为整型变量,则循环语句for(n=10;n > 0;n--) 的循环次数为________。
A、10
B、9
C、11
D、12
(  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、定义如下变量和数组: int i, x[3][3]={1,2,3,4,5,6,7,8,9
};则下面语句for(i=0;i<3;i++) printf("%d",x[i][2-i]);的输出结果是________。
A、1 5 9
B、1 4 7
C、3 5 7
D、3 6 9
(  A  )
3、定义如下变量和数组: int i; int x[3][3]={ 1,2,3,4,5,6,7,8,9 } 则下面语句的输出结果是________。 for(i=0;i<3;i++) printf("%d",x[i][2-1]);
A、2 5 8
B、1 4 7
C、3 5 7
D、3 6 9
(  C  )
4、以下对二维数组a的正确说明是________。
A、int a[3][]
B、float a(3,4)
C、double a[1][4]
D、float a(3)(4)
(  D  )
5、下面程序输出的结果是 __________.
#include <stdio.h>
void main( )
{
int i,j,x=0;
static int a[6]={1,2,3,4,5,6};
for(i=0,j=1;i<5;++i,j++) x+=a[i]*a[j];
printf("%d\n",x);
}
A、数组 a 中首尾的对应元素的乘积
B、数组 a 中首尾的对应元素的乘积之和
C、数组 a 中相邻各元素的乘积
D、数组 a 中相邻各元素的乘积之和
(  D  )
6、已有定义:int i,a[10],*p; 则合法的赋值语句是________。
A、p=100;
B、p=a[5]
C、p=a[2]+2
D、p=a+2;
(  D  )
7、已知英文字母a的十进制ascii码值为65,那么a的十进制ascii码值为______。
A、98
B、100
C、89
D、97
(  D  )
8、下列二维数组的说明中,不正确的是________。
A、float a[][4]=0,1,8,5,9;
B、int a[3][4]
C、#define N 5
float a[N][3]
D、int a[2][9.5];
(  D  )
9、已知p,p1为指针变量,a为数组名,j为整型变量,下列赋值语句中 不正确的是________。
A、p=&j,p=p1;
B、p=a;
C、p=&a[j];
D、p=10;
(  D  )
10、若有定义:int b[5];
则以下对b 数组元素的正确引用是________。
A、*b[5]
B、b+2
C、*(*(b+2))
D、*(b+2)

五、字符串/字符串指针 (共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);
(  A  )
2、下述程序用来输出两个字符串前7个字符中对应相等的字符及其位置号,则程序空白上应该填写的是________。
main()
{
char s1[]="chinese",s2[]="japanese";
int i;
for(i=0;s1[i]='\0'&&s2[i]!='\0';i++) if(s1[i]==s2[i]&&i<7) ________;
}
A、putchar(s2[i]);putchar(i)
B、puts(s1[i],i)
C、printf("%c%d\n",s2[i]。i)
D、printf("%C",s1[]);printf("%d\n",i)
(  C  )
3、以下程序段中,不能正确赋字符串(编译时系统会提示错误)的是________。
A、char s[10]=”abcdefg”;
B、char t[]=”abcdefg”,*s=t;
C、char s[10];s=”abcdefg”;
D、char s[10];strcpy(s,”abcdefg”);
(  D  )
4、下列字符串中不能作为c标识符使用的是________。
A、WHILE
B、user
C、_lvar
D、9stars
(  C  )
5、null是指 ________。
A、0
B、空格
C、未知的值或无任何值
D、空字符串
(  C  )
6、下面程序段的运行结果是 char *s="abcde"; s+=2; printf("%d",s);
A、cde
B、字符'c'
C、字符'c'的地址
D、无确定的输出结果
(  B  )
7、下列选项中c语言中不合法的字符串常量的是________。
A、"\121"
B、'y'
C、"\n\n"
D、"ABCD\x6d\
(  A  )
8、以下选项中合法的c语言字符常量是________。
A、'\t'
B、"A"
C、67
D、A
(  A  )
9、以下不能将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++];);
(  B  )
10、在c语言中,不允许有常量的数据类型是________。
A、整型
B、结构型
C、字符型
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)
(  A  )
2、下列函数的类型是________。 fun(double x)
{
float y;
y=3*x-4;
return y;
}
A、int
B、不确定
C、void
D、float
(  B  )
3、以下关于函数的叙述中正确的是________。
A、每个函数都可以被其它函数调用(包括main函数)
B、每个函数都可以被单独编译
C、每个函数都可以单独运行
D、在一个函数内部可以定义另一个函数
(  D  )
4、要求函数的功能是交换 x 和 y 中的值,且通过正确调用返回交换结果 . 能正确执行 此功能的函数是______。
A、funa ( int *x , int *y )
{
int *p ; *p=*x ; *x=*y ; *y=*p ;
}
B、fund ( int x , int y )
{
int t ; t=x ; x=y ; y=t ;
}
C、func ( int *x , int *y )
{
*x=*y ; *y=*x ;
}
D、fund ( int *x , int *y )
{
*x=*x+*y ; *y=*x-*y ; *x=*x-*y ;
}
(  B  )
5、结构化程序设计方法的三种基本控制结构中不包括(. )。
A、循环结构
B、递归结构
C、顺序结构
D、选择结构
(  D  )
6、在c 语言程序中,在函数内部定义的变量称为________。
A、全局变量
B、外部变量
C、全程变量
D、内部变量
(  D  )
7、设函数定义如下: float f1(float a,float b)
{
return(a+b);
}
若有float x=1.1,y=2.2;
,则以下语句中正确的函数调用是________。
A、printf ("%f",f1();
B、printf ("%f",f1(&x,);
C、printf ("%f",f1(*x,*);
D、printf ("%f",f1(x,);
(  D  )
8、下列选项不属于函数的组成部分是?
A、返回值类型
B、函数名
C、参数列表
D、局部变量
(  A  )
9、c 语言程序的三种基本结构是顺序结构、选择结构和______结构.
A、循环
B、递归
C、转移
D、嵌套
(  A  )
10、以下叙述中正确的是()。
A、构成. C程序的基本单位是函数
B、可以在一个函数中定义另一个函数
C、main()函数必须放在其它函数之前
D、所有被调用的函数一定要在调用之前进行定义

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

(  B  )
1、若有定义语句:int a[3][6]; ,按在内存中的存放顺序,a数组的第10个元素是________。
A、a[0][4]
B、a[l][3]
C、a[0][3]
D、a[1][4]
(  A  )
2、设有如下程序段 char s[20]= "bejing",*p; p=s; 则执行p=s; 语句后,以下叙述正确的是________。
A、可以用*p表示s[0]
B、s数组中元素的个数和p所指字符串长度相等
C、s和p都是指针变量
D、数组s中的内容和指针变量p中的内容相等
(  B  )
3、字符串 "\\\"abc\"\\" 的长度是______。
A、11
B、7
C、5
D、3
(  D  )
4、以下数组定义中不正确的是 __________.
A、int a[2][3];
B、int b[][3]={0,1,2,3};
C、int c[100][100]={0};
D、int a[3][]={{1,2},{1,2,3},{1,2,3,4}};
(  A  )
5、执行完语句int [] x= new int [25]; 后,则下列哪项说法是正确的
A、x[24]值为0
B、x[24]值未定义
C、x[25]值为0
D、x[0]值为空
(  B  )
6、设int*p[4]; 则标识符p是________。
A、整型数组名
B、指针数组名
C、指针函数名
D、指向整型变量的指针
(  D  )
7、下列描述中,正确的一条是______。
A、关系表达式的值是一个逻辑值,即“真”或“假”,可以赋给一个逻辑变量
B、在C语言中,判断一个量是否为:真”时,以0代表“假”,以1代表“真”.
C、设a=3、b=4、c=5,则表达式!(x=&&(y=&&0的值为0
D、一个数组的各个数组元素可属于不同的数据类型
(  D  )
8、下面关于数组的描述错误的是________。
A、在C语言中数组的名字就是指向该数组第一个元素的指针
B、长度为n的数组,下标的范围是0~n-1
C、数组的大小必须在编译时确定
D、数组只能通过值参数和引用参数两种方式传递给函数
(  A  )
9、对于以下递归函数f,调用f(4),其返回值为()
int f(int n)
{
if (n) return f(n - 1) + n;
else return n;
}
A、10
B、4
C、0
D、以上均不是________。
(  B  )
10、有以下程序段若要给 c1、c2、c3 分别输入字母a,b,c,则以下对输入形式的描述正确的是________。
A、字母A,B,C 之间可以用空格分隔
B、字母A,B,C 之间不能有分隔符
C、字母A,B,C 之间可以用回车符分隔
D、字母A,B,C 之间可以用 Tab 键分隔

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

(  A  )
1、有以下程序 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
(  D  )
2、若有以下说明语句:
struct student
{
int num;
char name[ ];
float score;
} stu;
则下面的叙述不正确的是: ( )
A、struct是结构体类型的关键字
B、struct student 是用户定义的结构体类型
C、num, score都是结构体成员名
D、stu是用户定义的结构体类型名
(  D  )
3、下列选项中属于c语言构造类型的是________。
A、指针类型
B、空类型
C、枚举类型
D、数组类型
(  A  )
4、以下结构体类型说明和变量定义中正确的是________。
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;
(  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;
(  C  )
6、以下程序运行后的输出结果是
#include<stdio.h>
struct st
{
int x, y;
} data[2] = {{1, 10},{2, 20}};
main ()
{
struct st *p = data;
printf ("%d,", p->y);
printf ("%d\n", (++p)->x);
}
A、10,1
B、20,1
C、10,2
D、20,2
(  C  )
7、下面说法正确的是________。
A、文件指针变量的值是文件当前正在处理的字节地址
B、文件指针变量的值是文件中包含的字符个数
C、文件指针的类型是一种指针类型
D、文件指针的类型是结构体类型
(  C  )
8、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]
(  C  )
9、定义结构体的关键字是________。
A、union
B、enum
C、struct
D、typedef
(  A  )
10、当定义一个结构体变量时,系统分配给它的内存是________。
A、各成员所需内存量的总和
B、结构中第一个成员所需内存量
C、结构中最后一个成员所需内存量
D、成员中占内存量最大者所需的容量

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

(  C  )
1、有如下程序
main()
{
float x=2.0,y;
if(x<0.0) y=0.0;
else if(x<10.0) y=1.0/x;
else y=1.0;
printf("%f\n",y);
}
该程序的输出结果是________。
A、0.000000
B、0.250000
C、0.500000
D、1.000000
(  A  )
2、有以下程序:
#include<stdio.h>
main()
{
char c1='1',c2='2';
c1=getchar();
c2=getchar();
putchar(c1);
putchar (c2);
}
当程序运行时输入a<回车>后,下列叙述中正确的是________。
A、变量c1被赋予字符a,c2被赋予回车符
B、程序将等待用户输入第2个字符
C、变量c1被赋予字符a,c2中仍是原有字符2
D、变量c1被赋予字符a,c2中将无确定值
(  A  )
3、下述程序执行的输出结果是________。
main()
{
char a[2][4];
strcpy(a,"are");
strcpy(a[1],"you");
a[0][3]='&';
printf("%s\n",a):
}
A、are&you
B、you
C、are
D、&
(  B  )
4、有以下程序
#include<stdio.h>
int fun() {
static int x=1;
x+=1;
return x;
}
main() {
int i;
s=1;
for(i=1;i<=5;i++) s+=fun();
printf("%d\n",s);
}
程序运行后的输出结果是________。
A、11
B、21
C、6
D、120
(  C  )
5、有以下程序
#include<stdio.h>
main()
{
int a[5]={1,2,3,4,5}, b[5]={0,2,1,3,0}, i, s=0;
for(i=0;i<5;i++) s=s+a[b[i]];
printf("%d\n",s);
}
程序运行后的输出结果是________。
A、6
B、10
C、11
D、15
(  C  )
6、以下程序输出的结果是 __________.
#include <stdio.h>
void main( )
{
int a[ ]={5,4,3,2,1},i,j;
long s=0;
for(i=0;i<5;i++) s=s*10+a[i];
printf("s=%ld\n",s);
}
A、s=12345
B、s=5 4 3 2 1
C、s=54321
D、以上都不对
(  C  )
7、下列程序的输出结果是 __________.
#include <stdio.h>
void main()
{
char b[]="abcdefg";
char p=0;
while(p<7) putchar(b[p++]);
putchar('\n');
}
A、GFEDCBA
B、BCDEFG
C、ABCDEFG
D、GFEDCB
(  B  )
8、运行下列程序的输出是
#include<stdio.h>
int main()
{
int k=1;
{
int k=2;
printf("%d",k);
}
printf("%d",k);
return 0;
}
A、12
B、21
C、11
D、22
(  A  )
9、下面程序
main()
{
int x=100, a=10, b=20, ok1=5, ok2=0;
if(a<b)if(b!=15)if(!ok1) x=1;
else if(ok2) x=10;
x=-1;
printf("%d\n",x);
}
的输出是______。
A、-1
B、10
C、1
D、不确定的值
(  D  )
10、下面程序的运行结果是________。
#include <stdio.h>
main()
{
int i, b, k = 0;
for (i = 1; i <= 5; i++)
{
b = i % 2;
while (b-- >= 0) k++;
}
printf("%d,%d", k, b);
}
A、3,-1
B、8,-1
C、3,0
D、8,-2