广西艺术学院历年C语言程序设计专升本模拟

本试卷为广西艺术学院历年C语言程序设计专升本模拟,题目包括:理论基础,控制结构,循环结构,数组/指针数组,字符串/字符串指针,函数/函数指针,指针,结构体,程序题。

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

C语言程序设计专升本模拟

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

(  D  )
1、设有定义:int x=2; ,以下表达式中,值不为6的是________。
A、x*=x+1
B、x++,2*x
C、x*=(1+x)
D、2*x,x+=2
(  D  )
2、假定x和y为 double型,则表达式x=2,y=x+3/2的值是________。
A、3.500000
B、3
C、2.000000
D、3.000000
(  B  )
3、以下叙述中正确的是________。
A、预处理命令行必须位于c源程序的起始位置
B、在c语言中,预处理命令行都以“#”开头
C、每个c程序必须在开头包含预处理命令行:#include
D、C语言的预处理不能实现宏定义和条件编译的功能
(  D  )
4、执行下面程序段,给x、y赋值时,不能作为数据分隔符的是________。 int x,y; scanf("%d%d",&x,&y);
A、空格
B、Tab键
C、回车
D、逗号
(  B  )
5、以下叙述中 , 不正确的是 __________.
A、使用 static float a 定义的外部变量存放在内存中的静态存储区
B、使用 float b 定义的外部变量存放在内存中的动态存储区
C、使用 static float c 定义的内部变量存放在内存中的静态存储区
D、使用 float d 定义的内部变量存放在内存中的动态存储区
(  D  )
6、下列运算符中,优先级最高的是________。
A、+=
B、==
C、&&
D、++
(  A  )
7、下列关于c语言的叙述错误的是________。
A、英文字母大小写不加以区分
B、不同类型的变量可以出现在同一个表达式中
C、在赋值表达式中赋值号两边的类型可以不同
D、某些运算符在不同的场合可以有不同的含义
(  A  )
8、C源程序中的命令 #include与#define是在______阶段被处理的。
A、预处理
B、编译
C、连接
D、执行
(  A  )
9、数据和程序以______进制代码形式存放在存储器中。
A、二
B、八
C、十
D、十六
(  A  )
10、在c语言中,不正确的int类型的常数是______。
A、32768
B、0.
C、037
D、0xAF
(  D  )
11、设a为int型变量,执行下列赋值语句后,a的取值分别为 ( )
a=125.534; a=20.0/3; a=20%3; a=(int)125%521%4; a=5<<2;
A、125,6.666666,2,1,1
B、125,6,2,1,1
C、125.534,6.666666,2,1,20
D、125,6,2,1,20
(  D  )
12、将空格符赋给字符变量c,正确的赋值语句是________。
A、c='\0'
B、c=NULL
C、c=0
D、c=32
(  B  )
13、已知英文字母m的ascii码值为6dh,那么,码值为4dh的字母是______。
A、N
B、M
C、P
D、L
(  B  )
14、关于二进制的说法中,正确的是________。
A、所有的信息只能用二进制代码来表示
B、计算机一般都使用二进制代码,用它的某种信息编码方式来表示信息
C、ASCII是计算机用来表示文字符号的唯一一种二进制代码
D、汉字在计算机内使用汉字国标码来表示,不使用二进制编码
(  D  )
15、下列结果不相同的是________。
A、1111-0101
B、1111~0101
C、1111^1010
D、0000^1010
(  D  )
16、为表示"a和b都不等于0",应使用的c语言表达式是________。
A、(a!=0) || (b!=0)
B、a || b
C、!(a=0)&&(b!=0)
D、a && b
(  D  )
17、若有如下定义变量:int k=7,x=12; 则能使值为3的表达式是________。
A、x%=(k%=5)
B、x%=(k-k%5)
C、x%=k-k%5
D、(x%=k)-(k%=5)
(  A  )
18、c风格的注释* c 风格的注释,也称块注释或多行注释,以 ▁▁▁ 开始,以 ▁▁▁ 结束。
A、/* 和 */
B、{ 和 }
C、[ 和 ]
D、( 和 )
(  C  )
19、以下叙述中正确的是()。
A、在程序的一行上可以出现多个有效的预处理命令行
B、使用带参的宏时,参数的类型应与宏定义时的一致
C、宏替换不占用运行时间,只占编译时间
D、在以下定义中 C R 是称为"宏名"的标识符 #define C R 045
(  A  )
20、以下叙述中错误的是____
A、用户所定义的标识符允许使用关键字
B、用户所定义的标识符应尽量做到"见名识意"
C、用户所定义的标识符中,大、小写字母代表不同标识
D、用户所定义的标识符必须以字母或下划线开头

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

(  A  )
1、在c程序中,判断逻辑值时,分别用( )表示逻辑值"真"、"假"。
A、非0 0
B、0 1
C、非0非0
D、1 1
(  A  )
2、若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  )
3、if语句的基本形式为:if(表达式)语句,其中"表达式"________。
A、可以是任意合法的表达式
B、必须是逻辑表达式
C、必须是逻辑表达式或关系表达式
D、必须是关系表达式
(  C  )
4、设变量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++;
(  D  )
5、若a和b均是整型变量并已正确赋值,正确的switch语句是________。
A、switch(a+b);……
B、switch(a+b*3.0)……
C、switch a……
D、switch(a%b)……
(  C  )
6、若有定义:float x=1.5; int a=1,b=3,c=2; 则正确的switch语句是________。
A、switch(x) {
case 1.0 : printf("*\n");
case 2.0 : printf("**\n");
}
B、switch((int)x); {
case 1 : printf("*\n");
case 2 : printf("**\n");
}
C、switch(a+b) {
case 1: printf("*\n");
case 2+1: printf("**\n");
}
D、switch(a+b) {
case 1 : printf("*\n");
case c : printf("**\n");
}
(  D  )
7、在c语言中,if语句后的一对原括号中,用以决定分支的流程的表 达式________。
A、只能用逻辑表达式
B、只能用关系表达式
C、只能用逻辑表达式或关系表达式
D、可用任意表达式
(  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
(  B  )
9、c语言的switch语句中case后____
A、只能为常量
B、只能为常量或常量表达式
C、可为常量或表达式或有确定值的变量及表达式
D、可为任何量或表达式
(  D  )
10、在c 的if 语句中,可用作条件的表达式是________。
A、关系表达式
B、逻辑表达式
C、算术表达式
D、任意表达式

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

(  A  )
1、下列叙述中正确的是________。
A、只能在循环体内和switch语句体内使用break语句
B、continue语句的作用是结束整个循环的执行
C、在循环体内使用break语句或continue语句的作用相同
D、从多层循环嵌套中退出时,只能使用got0语句
(  B  )
2、下列程序的运行结果是________。
void main()
{
int s=0,k;
for(k=7;k>1;k--)
{
switch(k)
{
case 1: case 4: case 7: s++: break;
case 2: case 3: case 6:break;
case 0: case 5: s+=2: break;
}
}
printf("s=%d",s);
}
A、s=3
B、s=4
C、s=5
D、无输出结果
(  B  )
3、设i,j,k均为int型变量,则执行完下面的for循环后,k的值为 for(i=0,j=10;i<=j;i++,j--) k=i+j;
A、12
B、10
C、11
D、9
(  C  )
4、有以下程序
#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
(  C  )
5、下面不属于条件语句关键字的是________。
A、else
B、switch
C、while
D、if
(  A  )
6、有以下程序:
#include <stdio.h>
main()
{
int a=1,b=2;
for(;a<12;a++)
{
b+=a*2;
a+=3;
}
printf("%d,%d\n",b,a);
}
程序运行后的输出结果是________。
A、32,13
B、46,10
C、72,13
D、72,10
(  B  )
7、下列程序的输出结果是
#include<stdio.h>
main()
{
int i,a=0,b=0;
for(i=1;i<10;i++)
{
if(i%2==0)
{
a++;
continue;
}
b++;
}
printf("a=%d,b=%d",a,b);
}
A、a=4,b=4
B、a=4,b=5
C、a=5,b=4
D、a=5,b=5
(  B  )
8、有以下程序
main( )
{
int c=5,x;
scanf("%d",&x);
switch(x+1)
{
case 6: c++;
case 8: ++c;
break;
default:c+=3;
}
printf("%d",c);
}
程序运行时,从键盘输入: 5<回车>,程序执行后的输出结果是________。
A、6
B、7
C、8
D、语法错
(  A  )
9、执行以下循环语句时,下列说法正确的是________。x = -1;
do
{
x = x * x;
}
while (x == 0);
A、循环体将执行一次
B、循环体将执行两次
C、循环体将执行无限次
D、系统将提示有语法错误
(  A  )
10、若变量已正确定义,以下while循环正常结束时,累加到pi的最后一项item的值满足________。
A、item的绝对值小于0.0001
B、item的绝对值大于0.0001
C、item的绝对值大于等于0.0001
D、item的绝对值小于等于0.0001

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

(  D  )
1、有如下程序
#include<stdio.h>
void main()
{
char ch[80]="123abcdefg*&";
int j;
long s=0;
puts(ch);
for(j=0;ch[j]>'\0';j++) if(ch[j]>='a'&&ch[j]<='z') ch[j]=ch[j]+'e'-'e';
puts(ch);
}
该程序的功能是 __________.
A、测字符数组 ch 的长度
B、将数字字符串 ch 转换成十进制数
C、将字符数组 ch 中的小写字母转换成大写
D、将字符数组 ch 中的大写字母转换成小写
(  B  )
2、若有以下定义和语句:int a[10]={1,2,3,4,5,6,7,8,9,10 },*ia=a; 则不能正确表示a数组元素的表达式是 ______。
A、*ia
B、a[10]
C、*a
D、a[ia-a]
(  C  )
3、下面程序的运行结果是
#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
(  A  )
4、以下选项中,不能正确赋值的是 ______。
A、char s1[10];s1="chest";
B、char s2[]='C','t','e','s','t';
C、char s3 [20]="Chest";
D、char * s4="Cest\n"
(  A  )
5、以下程序的运行结果是________。
#include <stdio.h>
main()
{
int a[]={1,2,3,4,5,6,7,8,9,10,11,12};
int *p=a+5,*q=null;
*q=8(p+5);
printf("%d %d\n", *p,*q);
}
A、运行后报错
B、6 6
C、6 11
D、5 5
(  D  )
6、以下关于排序算法的叙述中,正确的是________。
A、冒泡排序法中,元素的交换次数与元素的比较次数一定相同
B、冒泡排序法中,元素的交换次数不少于元素的比较次数
C、简单选择排序中,关键字相同的记录在排序前后的相对位置一定不变
D、简单选择排序中,关键字相同的记录在排序前后的相对位置可能交换
(  A  )
7、以下叙述中正确的是________。
A、字符串数组,是指数组中的每个元素都是一个存放字符串的一维数组
B、char ca[3][4]={"A","BB","CCC"};是不合语法的
C、char ca[][5]={"A","BB","CCC"};是不合语法的
D、char *ca[3]= {"A","BB","CCC"};是不合语法的
(  A  )
8、以下叙述中正确的是________。
A、语句 int a[8]={0};是合法的
B、语句 int a={ 0};是不合法的,遗漏了数组的大小
C、语句 char a[2]={"A","B"};是合法的,定义了一个包含两个字符的数组
D、语句 char[3];a="AB";是合法的,因为数组有三个字符空间的容量,可以保存两个字符
(  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;
(  D  )
10、若有以下的定义:int t[3][2];
能正确表示t数组元素地址的表达式是________。
A、&t[3][2]
B、t[3]
C、&t[1]
D、t[2]

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

(  B  )
1、设宏定义#define PI 3.1415926,用宏名PI替换的是________。
A、算术表达式
B、字符串
C、单精度实型数
D、双精度实型数
(  D  )
2、下列字符串中不能作为c标识符使用的是________。
A、WHILE
B、user
C、_lvar
D、9stars
(  A  )
3、下列哪个是c语言的有效标识符
A、_Nol
B、No.1
C、12345
D、int
(  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++];);
(  B  )
5、下列变量定义中,错误的是______。
A、int x=3;
B、float f;d;
C、String s="Hello!";
D、boolean b=true;
(  C  )
6、顺序执行下列程序语句后,则b的值是 string a="hello"; string b=a.substring(0,2);
A、Hello
B、hello
C、He
D、null
(  C  )
7、请读程序片段(字符串内没有空格字符):printf("%d\n",strlen("ats\n012\1\\") );
上面程序片段的输出结果是______。
A、11
B、10
C、9
D、8
(  C  )
8、下面各语句行中,能正确进行给字符串赋值操作的语句行是______。
A、char st[4][5]={"ABCDE"};
B、char s[5]={'A','B','C','D','E'};
C、char *s="ABCDE";
D、char *s; scanf("%s",*s);
(  D  )
9、宏定义是最常用的预处理功能之一,它用于将一个标识符定义为一个______
A、单精度数
B、双精度数
C、常量
D、字符串
(  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、c语言规定,函数返回值的类型是由( )决定的。
A、return语句中的表达式类型
B、调用该函数时的主调函数类型
C、在定义函数时所指定的函数类型
D、调用该函数时由系统临时
(  C  )
2、函数pi的功能是根据以下近似公式求π值: (π*π)/6=1+1/(2*2)+1/(3*3)+..+1/(n*n) 请填空,完成求π的功能。
#include <math.h>
main( )
{
double s=0.0;
long int i,n;
scanf("%ld",&n);
for(i=1;i<=n;i++) s=s+________ ;
s=(sqrt(6*s));
printf("s=%e",s);
}
A、1/i*i
B、1.0/i*i
C、1.0/(i*i)
D、1.0/(n*n)
(  B  )
3、设int*p[4]; 则标识符p是________。
A、整型数组名
B、指针数组名
C、指针函数名
D、指向整型变量的指针
(  C  )
4、以下( )不是c语言中用于结构化程序设计的三种基本结构之一。
A、顺序结构
B、选择结构
C、递归结构
D、循环结构
(  A  )
5、下列程序的输出结果是________。
int f1(int x,int y)
{
return x>y?x:y;
}
int f2(int x,int y)
{
return x>y?y:x;
}
main()
{
int a=4,b=3,c=5,d=2,e,f,g;
e=f2(f1(a,b),f1(c,d));
f=f1(f2(a,b),f2(c,d));
g=a+b+c+d-e-f;
printf("%d,%d,%d\n",e,f,g);
}
A、4,3,7
B、3,4,7
C、5,2,7
D、2,5,7
(  C  )
6、关于strcmp()函数,下列描述中错误的是________。
A、strcmp()函数用于比较两个字符串的内容是否相等
B、如果两个字符串的内容相同,strcmp()函数返回0
C、strcmp()函数是可变参数的函数
D、strcmp()函数只能接收字符指针作为参数,并不接收单个字符
(  C  )
7、阅读以下函数fun(char *sl,char *s2)
{
int i=0;
while(sl[i]==s2[i]&&s2[i]!='\0') i++;
return(sl[i]=='\0'&&s2[i]=='\0');
}
此函数的功能是______。
A、将s2所指字符串赋给s1
B、比较s1和s2所指字符串的大小,若s1比s2的大,函数值为1,否则函数值为0
C、比较s1和s2所指字符串是否相等,若相等,函数值为1,否则函数值为0
D、比较s1和s2所指字符串的长度,若s1比s2的长,函数值为1,否则函数值为0
(  C  )
8、在c语言中,( )
A、函数的定义可以嵌套,但函数的调用不可以嵌套
B、函数的定义和调用均不可以嵌套
C、函数的定义不可以嵌套,但函数的调用可以嵌套
D、函数的定义和调用均可以嵌套
(  B  )
9、调用函数f(27)的输出结果是________。
void f(int n)
{
if(n<5) printf("%d", n);
else
{
printf("%d", n%5);
f(n/5);
}
}
A、102
B、201
C、21
D、20
(  C  )
10、下面说法正确的是________。
A、任何包含数学运算的函数都只能使用单一的基本结构
B、每个 C 语言程序 MAIN()必须定义函数,否则编译失败
C、无论什么样的复杂算法,都可以使用三种基本结构来实现
D、只要程序是使用基本结构编写的,就不会出现算法错误

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

(  A  )
1、若有函数调用语句: fun(a+b,(x,y),fun(n+k,d,(a,b,))); 那么在此函数调用语句中实参的个数是________。
A、3
B、4
C、5
D、6
(  B  )
2、下列各项中不属于算法基本特征的是________。
A、可行性
B、递归性
C、确定性
D、有穷性
(  B  )
3、有以下程序段:
int j;
float y;
char name[50];
scanf("%2d%f%s",&j,&y,name);
当执行上述程序段,从键盘上输入55566 7777abc后,y的值为
A、55566.0
B、566.O
C、7777.O
D、566777.0
(  A  )
4、下述函数功能是_______。
int fun (char *x)
{
char *y = x;
while (*y++);
return y - s - 1;
}
A、求字符串的长度
B、求字符串存放的位置
C、比较两个字符串的大小
D、将字符串x连接到字符串y后面
(  C  )
5、下面程序段的执行结果是________。
#include<stdio.h>
main()
{
int a[5][5],i,j;
for(i=1;i<5;i++) for(j=1;j<5;j++) a[i][j]=(i<j)*(j/i);
for(i=1;i<5;i++) {
for(j=1;j<5;j++) printf("%2d",a[i][j]);
printf("\n");
}
}
A、1111
1111
1111
1111
B、0001
0010
0100
1000
C、0234
0012
0001
0000
D、0000
0000
0000
0000
(  C  )
6、下列选项中,关于main()函数叙述不正确的是________。
A、一个完整的C语言程序中,有且只能有一个main()函数
B、main()函数是程序的主入口,程序总是从main()函数开始执行
C、如果没有声明main()函数,程序将从第1行开始执行
D、main()函数可以有返回值,也可以没有返回值
(  D  )
7、以下叙述中正确的是________。
A、数组下标的下限是 1
B、数组下标的下限由数组中第一个非零元素的位置决定
C、数组下标的下限由数组中第一个被赋值元素的位置决定
D、char c1,c2,*c3,c4[40]是合法的变量定义语句
(  C  )
8、设有如下函数定义:int f(char *s)
{
char *p=s;
while(*p!='\0') p++;
return(p-s);
}
如果在主程序中用下面的语句调用上述函数,则输出结果为________。printf(""%d\n"",f(""goodbey!""));
A、3
B、6
C、8
D、0
(  D  )
9、以下叙述中正确的是________。
A、复合语句在语法上包含多条语句,其中不能定义局部变量
B、花括号对只能用来表示函数的开头和结尾,不能用于其他目的
C、空语句就是指程序中的空行
D、当用 scanf 从键盘输入数据时,每行数据在没按下回车键(Enter 键)前,可以任意修改
(  B  )
10、下列关于函数之间数据传递的叙述正确的是________。
A、当函数实参是指针类型时,被称为传值调用
B、利用函数的返回值传递数据时只能传递一个数据
C、参数的传址调用是一种双向数据传递方式
D、参数的传值调用方式中,形参与实参具有相同的存储空间

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

(  B  )
1、若有下列说明和语句,则对结构体变量st中成员i的引用方式不正确的是________。
struct stu
{
int i;
int name;
} st,*p;
p=&st;
A、si
B、*i
C、(*.i
D、p->i
(  C  )
2、设
struct data
{
int a;
float b;
} c,*p=&c;
,引用正确的是________。
A、*p.a
B、p.b
C、p->a
D、*p->b
(  C  )
3、变量a所占的内存字节数是______。
union u{
char st[4];
int i;
long l;
};
struct A {
int c;
union u;
} a;
A、4
B、5
C、6
D、8
(  C  )
4、若定义下列结构体,结构体变量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;
(  D  )
5、有以下程序:
#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  )
6、有以下程序
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
(  D  )
7、以下叙述中正确的是________。
A、即使是同类型的结构体变量,也不能进行整体赋值
B、结构体变量的地址不能作为实参传给函数
C、结构体数组名不能作为实参传给函数
D、结构体中可以含有指向本结构体的指针成员
(  B  )
8、c语言中,定义结构体的保留字是________。
A、union
B、struct
C、enum
D、typedef
(  B  )
9、相同结构体类型的变量之间,可以________。
A、相加
B、赋值
C、比较大小
D、地址相同
(  C  )
10、定义结构体的关键字是________。
A、union
B、enum
C、struct
D、typedef

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

(  C  )
1、下列程序的输出结果是________。
main( )
{
int i, j, m=0, n=0;
for(i=0; i<2; i++) for(j=0; j<2; j++) if (j>=i) m=1;
n++;
printf("%d \n",n);
}
A、4
B、2
C、1
D、0
(  A  )
2、有以下程序
void sum(int a[])
{
a[0] = a[-1]+a[1];
}
main()
{
int a[10]={1,2,3,4,5,6,7,8,9,10};
sum(&a[2]);
printf("%d\n", a[2]);
}
程序运行后的输出结果是________。
A、6
B、7
C、5
D、8
(  C  )
3、有以下程序
main( )
{
char a[]="abcdefg",b[10]="abcdefg";
printf("%d %d\n",sizeof(a),sizeof(b));
}
执行后输出结果是________。
A、7 7
B、8 8
C、8 10
D、10 10
(  B  )
4、若有以下定义和语句 : int a=010, b=0x10, c=10; printf("%d,%d,%d\n",a,b,c);
则输出结果是 ___________.
A、10,10,10
B、8,16, 10
C、8,10,10
D、8,8,10
(  C  )
5、以下程序运行后的输出结果是______。
main()
{
char*s="abcde";
s+=2;
printf("%ld\n",s);
}
A、cde
B、字符c的ASCII码值
C、字符c的地址
D、出错
(  B  )
6、以下程序段的输出结果是:______。char s[]="\\234\234abcd\t";
printf("%d\n",strlen(s));
A、8
B、10
C、14
D、15
(  B  )
7、有以下程序
main()
{
unsigned char a=2,b=4,c=5,d;
d=a|b;
d&=c;
printf("%d\n",d);
}
程序运行后的输出结果是______。
A、3
B、4
C、5
D、6
(  B  )
8、如下程序,输出结果为
void main()
{
float a=1;
printf("%f\n",a);
printf("%0.2f\n",a);
printf("%3.1f\n",a);
}
A、1\n1.00\n1.0
B、1.000000\n1.00\n1.0
C、1.000000\n1.00\n【空格】1.00
D、1\n1\n1
(  C  )
9、以下程序运行后的输出结果是___
main( )
{
int x1 =1, x2=0,x3=0;
if(x1 =x2 +x3) printf(" ****");
else printf( "####" );
}
A、* * * *
B、有语法错误
C、####
D、无输出结果
(  B  )
10、下面程序的运行结果是________。
fun(int p)
{
int k=1;
static t=2;
k=k+1;
t=t+1;
return(p*k*t);
}
main( )
{
int x=4;
fun(x);
printf(''%d\n'',fun(x));
}
A、4
B、32
C、30
D、16