微信搜索关注"91考试网"公众号,领30元,获取公务员、事业编、教师等考试资料40G!
形式是:scanf(格式字符串,输入项地址表)。“格式字符串”是要输入的变量的格式符:“输入项地址表”是要输入的变量的地址。----------------------------------------16、 下列程序的执行结果是( )。#includemain(){ int a,b,c;a=b=Cc=(a++)-1;printf("%d,%d",a,c);c+=-a+++(++b);printf("%d,%d",a,c);} A.3,14,1B.3,14,2 C.2,04,1 D.2,14,1 参考答案: A 本题主要考查自加减运算符(++,--)的使用。(1)如果作为前缀变量“++a,--a”,在使用a之前,先使a的值加1或者减1,再使用表达式的值参与运算;(2)后缀变量“a++,a--”,先使用表达式的值参与运算,在使用a之后,再使i的值加1或者减1。在本题中计算表达式c=(a++)一1时先使用a的值进行计算,结果为c=2—1=1,然后将a的值加1,即执行完此旬后a的值是3;表达式c+=-a+++(++b)也可写成c=c+(-a++)+(+十b),c=1+(3一)+3=1,此时a=4,b=3。----------------------------------------17、 有以下程序:main(){int a=0,b=0;a=10; /*给a赋值b=20; 给b赋值 */printf("a+b=%d\n",a+b);/*输出计算机结果*/}程序运行后的输出结果是( )。 A.a+b=10B.a+b=30 C.30 D.出错 参考答案: A 本题中/*……*/为多行注释,所以可知b=20为注释语句。在程序运行时不起作用,b仍为O,所以本题中A正确。----------------------------------------18、 有以下程序:fun(int x,int y){return(x+y);)main(){int a=1,b=2,C=3,sum;sum=fun(a++,b++,a+b),c++);printf("%d\n",sum);}执行后的输出结果是( )。 A.6B.7 C.8D.9 参考答案: C sum=fun((a++,b++,a+b),c++)中a++,b++,a+b为逗号表达式,运算后取a+b的值为5.c++为3,故函数调用后输出结果为8。----------------------------------------19、 有以下程序:main(){int a=0,b=10,c=0,d=0;if(a=1)b=1;c=2;else d=3:printf("%d,%d,%d,%d\n",a,b,c,d);}程序输出( )。 A.0,1,2,0B.0,0,0,3C.1,1,2,0D.编译有错 参考答案: D 语法错误else与if之间不应再用其它语句,如果满足if条件则继续执行if后面的语句不满足就执行else语句。----------------------------------------20、 在16位编译系统上,若有定义int a[]={l0,20,30),*p=&a,当执行p++;后,下列说法错误的是( )。 A.p向高地址移了一个字节B.p向高地址移了一个存储单元C.p向高地址移了两个字节D.p与a+1等价 参考答案: A 因为p是整型的指针变量,因此其移动会一下移两个字节,故选择A选项。----------------------------------------21、 以下程序的输出结果是( )。prt(int*m,int n){int i;for(i=0;iA.1,2,3,4,5 B.2,3