武汉工程大学计算机C语言专升本

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

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

计算机C语言专升本

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

(  A  )
1、有定义:"int a=2,b=3,c=4;",则下列选项中值为0的表达式是________。
A、(!a==l)&&(!b==0)
B、(a<B)&&!C||1
C、a&&b
D、a||(b+b)&&(c-a)
(  C  )
2、当c的值不为0时,在下列选项中不能正确将c的值赋给变量a、b的是________。
A、c=b=a;
B、(a=c)||(b=c);
C、(a=c)&&(b=c);
D、a=c=b;
(  A  )
3、以下不能正确计算代数式 值的c语言表达式是________。
A、1/3*sin(1/2)*sin(1/2)
B、sin(0.5)*sin(0.5)/3
C、pow(sin(0.5),2)/3
D、1/3.0*pow(sin(1.0/2),2)
(  A  )
4、若有说明语句:int a,b,c,*d=&c; 则能正确从键盘读入三个整数分别赋给变量a、b、c的语句是________。
A、scanf("%d%d%d",&a,&b,d);
B、scanf("%d%d%d",&a,&b,&d);
C、scanf("%d%d%d",a,b,d);
D、scanf("%d%d%d",a,b,*d);
(  A  )
5、以下不能正确赋值的是______。
A、char s1[10];s1="test";
B、char s2[]={ ’ t ’ , ’ e ’ , ’ s ’ , ’ t ’ }
C、char s3[20]= "test";
D、char s4[4]={ ’ t ’ , ’ e ’ , ’ s ’ , ’ t ’ }
(  A  )
6、如下陈述中正确的是________。
A、串“ABC”和串“ABC”不相等
B、串的长度必须大于零
C、串中元素只能是字母
D、空串就是空格串
(  A  )
7、下列关于指针运算的描述中,错误的是________。
A、在一定条件下,两个指针可以相加
B、在一定条件下,两个指针可以进行逻辑判断
C、在一定条件下,指针可以为空值
D、在一定条件下,两个指针可以相互赋值
(  B  )
8、若变量已正确定义并赋值,下面符合c语言语法的表达式是________。
A、m:=5
B、c=b=a=l
C、float 8%5
D、x+5=y+2
(  A  )
9、有一个数是123,它与十六进制数53相等,那么该数值是________。
A、八进制数
B、十进制数
C、五进制
D、二进制数
(  B  )
10、现代计算机中采用二进制数制是因为二进制数的优点是______。
A、代码表示简短,易读
B、物理上容易实现且简单可靠;运算规则简单;适合逻辑运算
C、容易阅读,不易出错
D、只有0,1两个符号,容易书写
(  B  )
11、一个字长为8位的无符号二进制整数能表示的十进制数值范围是________。
A、0~256
B、0~255
C、1~256
D、1~255
(  D  )
12、为了计算s=15!(15的阶乘),则s变量应定义为________。
A、char
B、short
C、int
D、long
(  C  )
13、下列描述中,正确的是________。
A、每个C程序必须在开头使用预处理命令
B、预处理命令必须位于C程序的开头
C、在C语言中,预处理命令都以<开头
D、语言的预处理命令只能实现宏定义和条件编译的功能
(  C  )
14、下列程序段的输出是____。int c[]={1, 3, 5};
int *k=c+1;
printf("%d", *++k);
A、3
B、4
C、5
D、6
(  C  )
15、下列不正确的转义字符是________。
A、\\'
B、\"
C、074'
D、\0'
(  C  )
16、下列关于指针变量的描述,不正确的是________。
A、在没有对指针变量赋值时,指针变量的值是不确定的
B、同类指针类型可以进行相减操作
C、在使用没有赋值的指针变量时,不会出现任何问题
D、可以通过指针变量来取得它指向的变量值
(  B  )
17、以下叙述中不正确的是________。
A、一个好的程序应该有详尽的注释
B、在C程序中,赋值运算符的优先级最低
C、在C程序中,j++;是一条赋值语句
D、C程序中的#include和#define均不是C语句
(  D  )
18、下列运算符中是c语言关系运算符的是________。
A、~
B、!
C、&
D、!=
(  D  )
19、指针x指向的整型变量值为25,则”printf(“%d\n”,++*x);”
的输出是____
A、23
B、24
C、25
D、26
(  A  )
20、C语言中,char 类型数据占()。
A、1 个字节
B、2 个字节
C、4 个字节
D、8 个字节

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

(  A  )
1、若a是数值类型,则逻辑表达式(a==1)||(a!=1)的值是________。
A、1
B、0
C、2
D、不知道a的值,不能确定
(  D  )
2、能正确表示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  )
3、设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
(  C  )
4、关于结构化程序设计原则和方法的描述错误的是________。
A、选用的结构只准许有一个入口和一个出口
B、复杂结构应该用嵌套的基本控制结构进行组合嵌套来实现
C、不允许使用GOTO语句
D、语言中若没有控制结构,应该采用前后一致的方法来模拟
(  D  )
5、下列描述正确的是________。
A、表示m>n为true或m<n为true的表达式为m>n&&m<n
B、switch语句结构中必须有default语句
C、if语句结构中必须有else语句
D、如果至少有一个操作数为true,则包含||运算符的表达式为true
(  C  )
6、下列程序的输出结果是________。
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
(  A  )
7、有以下程序:
main()
{
int a=3,b=4,c=5,d=2;
if(a>b) if(b>c) printf("%d",d+++ 1);
else printf("%d",++d+1);
printf("%d\n",d);
}
程序运行后的输出结果是 ______。
A、2
B、3
C、43
D、44
(  C  )
8、下列if语句中,不正确的是________。
A、if(x>y);
B、if(x==y) x+=y;
C、if(x!=y) scanf("%d",&x) else x=1;
D、if(x
(  B  )
9、c语言的switch语句中case后____
A、只能为常量
B、只能为常量或常量表达式
C、可为常量或表达式或有确定值的变量及表达式
D、可为任何量或表达式
(  A  )
10、c语言的if语句中,用作判断的表达式为____
A、任意表达式
B、逻辑表达式
C、关系表达式
D、算术表达式

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

(  C  )
1、在c语言的循环语句for,while,do-while语句中,用于直接中断最内层循环的语句是:________。
A、switch
B、continue
C、break
D、if
(  B  )
2、对于while、do…while循环结构,正确的说法是________。
A、只是表达形式不同
B、do…while 结构中的语句至少执行一次
C、while 结构中的语句至少执行一次
D、条件成立时,它们有可能一次也不执行
(  B  )
3、c语言的跳转语句中,对于break和continue说法正确的是________。
A、break语句只应用于循环体中
B、continue语句只应用于循环体中
C、break 是无条件跳转语句,continue不是________。
D、break和continue的跳转范围不够明确,容易产生问题
(  C  )
4、在下列选项中,没有构成死循环的程序是________。
A、int i=100;
while(i) {
i=i%100+1;
if(i>100) break;
}
B、for(;;);
C、int k=1000;
do
++k ;
while(k>=1000);
D、int s=36;
while(s);
--s;
(  A  )
5、以下for语句中不是死循环的是________。
A、for(int i=0;i<1;i++);
B、for(int i=0;i++);
C、for(int i=1;i>0;++i);
D、for( ;;);
(  A  )
6、下列程序的运行结果是________
#include<stdio.h>
main()
{
int x=5,a=1,b=2,c=5,d=0;
if(a<b) if(b!=3) if(!c) x=1;
else if(d) x=l;
else x=-1;
printf("%d",x);
}
A、-1
B、0
C、1
D、不确定的值
(  A  )
7、while(fabs(t)<1e-5)if(!s/10)break; 循环结束的条件是________。
A、t>=1e-5&&t<=-1e-5&&s>-10&&s<10
B、fabs(t)<1e-5&&!s/10
C、fabs(t)<1e-5
D、s/10==0
(  A  )
8、以下关于continue语句的描述中正确的是________。
A、continue语句只能用于循环中
B、continue语句只能用于switch语句中
C、continue语句可用于循环和switch语句中
D、以上说法都不正确
(  C  )
9、与下面程序段等价的是________。
for(n=100;n<=200;n++)
{
if(n%3==0) continue;
printf("%4d",n);
}
A、for(n=100;(n%3)&&n<=200;n++) printf("%4d",n);
B、for(n=100;(n%3)||n<=200;n++) printf("%4d",n);
C、for(n=100;n<=200;n++) if(n%3!=0) printf("%4d",n);
D、for(n=100;n<=200;n++){
if(n%3) printf("%4d",n);Else continue;Break;}
(  B  )
10、C语言中 while 和 do—while 循环的主要区别是
A、While 的循环控制条件比 do—while 的循环控制条件严格
B、do—while 的循环体至少无条件执行一次
C、do—while 允许从外部转到循环体内
D、do—while 循环体不能是复合语句

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

(  D  )
1、有数组:char a[ ]="this is an egg"; 。请问该数组到底占了几个字节?
A、11
B、12
C、14
D、15
(  C  )
2、若有以下定义和语句: int s[4][5],(*ps)[5]; ps=s; 则对s数组元素的正确引用形式是________。
A、ps+1
B、*(ps+3)
C、ps[0][2]
D、*(ps+1)+3
(  B  )
3、若有以下定义 int x[10], *pt=x; 则对x数组元素的正确引用是________。
A、*&x[10]
B、*(x+3)
C、*(pt+10)
D、pt+3
(  B  )
4、有如下说明: int a[10]=1,2,3,4,5,6,7,8,9,10,*p=a; 则数值为9的表达式是________。
A、*p+9
B、*(p+8)
C、*p+=9
D、p+8
(  A  )
5、下面关于数组的初始化正确的是________。
A、char str[ ] = {'a','b','c'}
B、char str[2]={'a','b','c'}
C、char str[2][3]={{'a','b',},{'c','d'},{'e','f'}}
D、char str( )={'a','b','c'}
(  C  )
6、在c语言中引用数组元素时,其数组下标的数据类型只能是________。
A、整型常量
B、整型表达式
C、整型常量或整型表达式
D、任何类型的表达式
(  D  )
7、下列描述中,正确的一条是______。
A、关系表达式的值是一个逻辑值,即“真”或“假”,可以赋给一个逻辑变量
B、在C语言中,判断一个量是否为:真”时,以0代表“假”,以1代表“真”.
C、设a=3、b=4、c=5,则表达式!(x=&&(y=&&0的值为0
D、一个数组的各个数组元素可属于不同的数据类型
(  A  )
8、下列语句中正确的是________。
A、char*myString="Hello-World!";
B、char myString="Hello-World!";
C、char myString[11]=”Hello-World!”;
D、char nlyString[12]="Hello-World!";
(  D  )
9、要定义一个字符串,下列选项中错误的是________。
A、char s[5] = "hello";
B、char s[] = "hello";
C、char *s = "hello";
D、char s[] = {"h","e","l","l","o"};
(  B  )
10、若有下列定义,则对a数组元素地址的正确引用是________。 int a[5],*p=a;
A、&a[5]
B、p+2
C、a++
D、&a

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

(  D  )
1、以下关于字符串的叙述中正确的是________。
A、c语言中有字符串类型的常量和变量
B、两个字符串中的字符个数相同时才能进行字符串大小的比较
C、可以用关系运算符对字符串的大小进行比较
D、空串一定比空格打头的字符串小
(  B  )
2、设有字符串a="he has 钱!",则该字符串的长度为( )。
A、9
B、10
C、11
D、8
(  C  )
3、以下叙述中不正确的是________。
A、空字符串(即两个双引号连写)只占一个存储单元
B、字符型常量可以放在字符型变量中
C、字符型常量可以放在字符串变量中
D、字符型常量可以与整数混合运算,而字符串常量不可以
(  C  )
4、以下程序段中,不能正确赋字符串(编译时系统会提示错误)的是________。
A、char s[10]=”abcdefg”;
B、char t[]=”abcdefg”,*s=t;
C、char s[10];s=”abcdefg”;
D、char s[10];strcpy(s,”abcdefg”);
(  C  )
5、设有定义:char s[81]; int i=0; 以下不能将一行(不超过80个字符)带有空格的字符串正确读入的语句或语句组是________。
A、gets(s);
B、while((s[i++]=getchar())!=‘\n’);s[i]=‘\0’;
C、scanf(“%s”,s);
D、do{ scanf(“%c”,&s[i]); } while(s[i++]!=‘\n’); s[i]=‘\0;
(  C  )
6、下面程序段的运行结果是 char *s="abcde"; s+=2; printf("%d",s);
A、cde
B、字符'c'
C、字符'c'的地址
D、无确定的输出结果
(  C  )
7、下面正确的字符串常量是________。
A、'a'
B、'376'
C、"\n"
D、376
(  C  )
8、判断两个字符串是否相等,正确的表达方式是
A、s1==s2
B、s1=s2
C、strcmp(s1,s2)==0
D、strcmp(s1,s2)=0
(  A  )
9、char a[]="This is a program.";输出前 5 个字符的语句是()。
A、printf("%.5s",a);
B、puts(a);
C、printf("%s",a);
D、a[5*2]=0;puts(a);
(  A  )
10、设有以下语句, 若 0
A、strp
B、str[k]
C、strp[k]
D、*strp

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

(  D  )
1、调用函数时,当实参和形参都是简单变量时,它们之间数据传递的过程是 __________.
A、实参将其地址传递给形参,并释放原先占用的存储单元
B、实参将其地址传递给形参,调用结束时形参再将其地址回传给实参
C、实参将其值传递给形参,调用结束时形参再将其值回传给实参
D、实参将其值传递给形参,调用结束时形参并不将其值回传给实参
(  C  )
2、判断字符串s1是否大于字符串s2,应该使用________。
A、if(strcmp(s1,s2)<0)
B、if(s1>s2)
C、if(strcmp(s2,s1)<0)
D、if(strcmp(s1,s2))
(  B  )
3、下面不正确的描述为________。
A、调用函数时,实参可以是表达式
B、调用函数时,实参与形参可以共用内存单元
C、调用函数时,将为形参分配内存单元
D、调用函数时,实参与形参的类型必须一致
(  B  )
4、以下关于程序中函数的定义、调用和声明的叙述中,正确的是______。
A、函数的定义必须放在该函数的调用之前
B、函数的声明必须放在该函数的调用之前
C、函数的定义必须放在该函数的声明之前
D、函数的声明必须放在该函数的定义之前
(  D  )
5、有以下程序:
main( )
{
char a[ ]={‘a',‘b',‘c',‘d',‘e',‘f',‘g',‘h',‘\0'};
int i,j;
i=sizeof(a);
j=strlen(a);
printf("%d,%d\n",i,j);
}
程序运行后的输出结果是________。
A、9,9
B、8,9
C、1,8
D、9,8
(  C  )
6、以下程序中函数f的功能是将n个字符串,按由大到小的顺序进行排序。
#include <string.h>
void f(char p[][10],int n)
{
char t[20];
int i,j;
for(i=0;i<n-1;i++)
for (j=i+1;j<n;j++)if(strcmp(p[i],p[j])<0)
{
strcpy(t,p[i]);
strcpy(p[i],p[j]);
strcpy(p[j],t);
}
}
main()
{
char p[][10]={"abc","aabdfg","abbd","dcdbe","cd"};
f(p,5);
printf("%d\n",strlen(p[0]));
}
程序运行后的输出结果是______。
A、6
B、4
C、5
D、3
(  D  )
7、已定义以下函数int fun( int *p)
{
return *p;
}
则fun函数返回值足
A、不确定的值
B、一个整数
C、形参p中存放的值
D、形参p的地址值
(  B  )
8、有以下程序
void f (int b[])
{
int i;
for(i=2;i<6;i++) b[i]* =2;
}
main()
{
int a[10]={1,2,3,4,5,6,7,8,9,10},i;
f(a);
for(i=0;i<10;i++) printf("%d,",a[i]);
}
程序运行后的输出结果是______。
A、1,2,3,4,5,6,7,8,9,10,
B、1,2,6,8,10,12,7,8,9,10,
C、1,2,3,4,10,12,14,16,9,10,
D、1,2,6,8,10,12,14,16,9,10,
(  B  )
9、以下叙述中错误的是________。
A、在函数外定义的变量是全局变量
B、全局变量和局部变量不能同名
C、在函数内定义的变量是局部变量
D、函数的形参是局部变量
(  B  )
10、以下叙述中正确的是()。
A、C语言的源程序不必通过编译就可以直接运行
B、C语言中的每条可执行语句最终都将被转换成二进制的机器指令
C、C 源程序经编译形成的二进制代码可以直接运行
D、C语言中的函数不可以单独进行编译

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

(  B  )
1、下列说法不正确的是________。
A、调用函数时,实参可以是表达式
B、调用函数时,实参与形参可以共用内存单元
C、调用函数时,将实参的值复制给形参,使实参变量和形参变量在数值上相等
D、调用函数时,实参与形参的类型必须一致
(  B  )
2、以下关于函数的叙述中正确的是________。
A、每个函数都可以被其它函数调用(包括main函数)
B、每个函数都可以被单独编译
C、每个函数都可以单独运行
D、在一个函数内部可以定义另一个函数
(  B  )
3、以下数组定义中错误的是________。
A、int x[][3]={0};
B、int x[2][3]={{l,2},{3,4},{5,6}};
C、int x[][3]={{l,2,3},{4,5,6}};
D、int x[2][3]={l,2,3,4,5,6};
(  D  )
4、有以下程序 char fun(char x , char y)
{
if(x<y) return x;
return y;
}
main( )
{
int a=’9’,b=’8’,c=’7’;
printf("%c\n",fun(fun(a,b),fun(b,c)));
}
程序的执行结果是________。
A、函数调用出错
B、8
C、9
D、7
(  A  )
5、c 语言规定,除主函数外,程序中各函数之间 ______.
A、既允许直接递归调用也允许间接递归调用
B、不允许直接递归调用也不允许间接递归调用
C、允许直接递归调用不允许间接递归调用
D、不允许直接递归调用允许间接递归调用
(  A  )
6、在c语言中,变量的隐含存储类别是________。
A、auto
B、static
C、extern
D、无存储类别
(  C  )
7、以下关于结构化程序设计的叙述中正确的是________。
A、一个结构化程序必须同时由顺序、分支、循环三种结构组成
B、结构化程序使用goto语句会很便捷
C、在C语言中,程序的模块化是利用函数实现的
D、由三种基本结构构成的程序只能解决小规模的问题
(  B  )
8、设变量定义为【int a[3] { 1,3,5 }, *p=a+1; 】,则*p的值是________。
A、2
B、3
C、4
D、a+1
(  D  )
9、对于 if(表达式)语句,以下说法正确的是________。
A、“表达式”的值只能是整数值
B、在“表达式”中不能调用函数
C、在“表达式”中不能含有浮点类型的变量或常量
D、“表达式”可以是各种形式的算术表达式
(  C  )
10、若有定义:char *p1,*p2,*p3,*p4,ch; 则不能正确赋值的程序语句为________。
A、p1=&ch; scanf("%c",p1);
B、p2=(char *)malloc(1);scanf("%c",p2);
C、*p3=getchar();
D、p4=&ch;*p4=getchar();

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

(  B  )
1、以下选项中不能正确把cl定义成结构体变量的是________。
A、typedef struct
{
int red;
int green;
int blue;
} COLOR;
COLOR cl;
B、struct color cl
{
int red;
int green;
int blue;
};
C、struct color
{
int red;
int green;
int blue;
} cl;
D、struct
{
int red;
int green;
int blue;
} cl;
(  A  )
2、若有下面的说明和定义:
struct test
{
int ml;
char m2;
float m3;
union uu
{
char ul[5];
int u2[2];
}
ua;
}
myaa;
则sizeof(struct test )的值是________。
A、12
B、16
C、14
D、9
(  B  )
3、若有下列说明和语句,则对结构体变量st中成员i的引用方式不正确的是________。
struct stu {
int i;
int name;
} st,*p; p=&st;
A、st.i
B、*p.i
C、(*p).i
D、p->i
(  A  )
4、下列描述说明正确的是________。
A、定义结构体时,它的每个成员的数据类型可以不同
B、不同结构体的成员名不能相同
C、结构体定义时,其成员的数据类型不能是结构体本身
D、结构体定义时各成员项之间可用分号也可用逗号隔开
(  C  )
5、变量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
(  D  )
6、下面定义结构变量的语句中错误的是________。
A、struct student{
int num; char name[20];
} s;
B、struct {
int num; char name[20];
} s;
C、struct student{
int num; char name[20];
};
struct student s;
D、struct student{
int num; char name[20];
};
student s;
(  A  )
7、设有如下定义:
struct sk
{
int a;
float b;
}
data,*p;
若要使p指向data中的a域,正确的赋值语句是________。
A、p=(struct sk*)&data.a;
B、p=(struct sk*) data.a;
C、p=&data.a;
D、*p=data.a;
(  A  )
8、在下列程序段中,枚举变量c1,c2的值依次是________。
enum color
{
red,
yellow,
blue=4,
green,
white
}
c1,c2;
c1=yellow;
c2=white;
printf("%d,%d\n",c1,c2);
A、1,6
B、2,5
C、1,4
D、2,6
(  B  )
9、c语言中,定义结构体的保留字是________。
A、union
B、struct
C、enum
D、typedef
(  A  )
10、在C语言中,下面那种数据类型不属于构造类型____
A、枚举类型
B、数组类型
C、结构体类型
D、共用体类型

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

(  D  )
1、以下程序的功能是:给r输入数据后计算半径为r的圆面积s。程序在编译时出错。
main() /* beginning */
{
int r;
float s;
scanf("%d",&r);
s=*p*r*r;
printf("s=%f\n",s);
}
出错的原因是________。
A、注释语句书写位置错误
B、存放圆半径的变量r不应该定义为整型
C、输出语句中格式描述符非法
D、计算圆面积的赋值语句中使用了非法变量
(  A  )
2、以下4组用户定义标识符中,全部合法的一组是________。
A、_main
enclude
sin
B、If
-max
turbo
C、txt
REAL
3COM
D、int
k_2
_001
(  A  )
3、已知 a=12, 则表达式 a+=a-=a*=a 的结果是 _________.
A、0
B、144
C、12
D、-264
(  A  )
4、执行下面程序时 , 若从键盘输入 "2<cr>" ,则程序的运行结果是 __________.
#include <stdio.h>
void main( )
{
int k;
char cp;
cp=getchar( );
if (cp>='0' && cp<='9') k=cp-'0';
else if (cp>='a' && cp<='f') k=cp-'a'+10;
else k=cp-'a'+10;
printf("%d\n",k);
}
A、2
B、4
C、1
D、10
(  C  )
5、下面程序的输出结果是 __________.
#include <stdio.h>
void main( )
{
int x=8,y=-7,z=9;
if (x<y) if (y<0) z=0;
else z-=1;
printf("%d\n",z);
}
A、8
B、1
C、9
D、0
(  D  )
6、运行下面程序后 , 输出是 ________.
#include <stdio.h>
void main( )
{
int k=-3;
if (k<=0) printf("****\n");
else printf("####\n")
}
A、####
B、****
C、####****
D、有语法错误不能通过编译
(  A  )
7、以下程序的输出结果是_______。
main()
{
char s[]="159",*p;
p=s;
printf("%c",*p++);
printf("%c",*p++);
}
A、15
B、16
C、26
D、59
(  D  )
8、下面程序
main()
{
int x=32;
printf("%d\n",x=x<<1);
}
的输出是______。
A、100
B、160
C、320
D、64
(  B  )
9、若变量a是unsigned int型,二进制赋值为1000000010001111,则a=a>>2结果是________。
A、1000000010001111
B、0010000000100011
C、0000001000111100
D、0000000010001110
(  B  )
10、下列程序的输出结果是________。 int b=2;
int func(int *a)
{
b += *a;
return(b);
}
main()
{
int a=2, res=2;
res += func(&a);
printf("%d \n",res);
}
A、4
B、6
C、8
D、10