C语言基础N多题~~~~~~~高分悬赏

看了下答案,谢谢大家了,不过有些题答案不一,求高手指点。

1.C语言提供合法的数据类型关键字是( )
A)Double B)short C)integer D)Char
2.以下叙述中正确的是( )
A) 输入项可以是一个实型常量,如:scanf("%f",3.5);
B) 只有格式控制,没有输入项,也能正确输入数据到内存,例如:scanf("a=%d,b=%d");
C)当输入一个实型数据时,格式控制部分可以规定小数点后的位数,例如:Scanf("%f",&f);
D)当输入数据时,必须指明变量地址,例如:scanf("%f",&f);
3.假定有以下变量定义
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)
4.下列程序的执行结果是( )
X=3;
Do
{print f("%2d",x--);
}while(!x);
A)3 2 1 B)3 C)2 1 D)2 1 0
5.当执行以下程序段时
A)循环体将执行一次 B)循环体将执行两次
C)循环体将执行无限次 D)系统将提示有语法错误
X=-1;
Do {x=x*x;}while(! X);

我是楼主 一共30道体 打完给分

6.与以下语句等价的是( )
k=n++;
A) k=n,n=n+1 B)n=n+1,k=n C)k=++n D)k+=n+1
7.设i和k都是int类型,则for循环语句( )。
for(i=0,k=-1;k=1;i++,k++) printf("****\n");
A )循环结束的条件不合法 B) 循环体一次也不执行
C )循环体只执行一次 D) 是无限循环
8.在C语言中合法的变量名是( )
A)switch B) a_2 C) 2a D) int
9.合法的数组定义是()
A)int a[ ]=”string”; B)int a[6]={0,1,2,3,4,5};
C)char s=”string”; D)char a[ ]={0,1,2,3,4,5};
10.设a,b为字符型变量,执行scanf(“a=%c,b=%c”,&a,&b);后要使a值为’A’,b值为’B’则从键盘的正确输入是()
A)’A’ ’B’ B)’A’ ,’B’ C)A=A,B=B D)a=A,b=B
11.#define S(x) x 则表达式w=2*S(1+5)的值是()
A)12 B)7 C)表达式有错 D)2*S6
12.当c值不为0时,下列选项能正确将c值赋给变量a,b的是()
A)c=b=a; B)(a=c)||(b=c);
C)(a=c)&&(b=c); D)a=c=b;
13.若有以下程序段:
char str[ ]=”ab\n\012\\\t”;
printf(“%d”,strlen(str));
上面程序片段的输出结果是()
A)3 B)4 C)6 D)12
14. C语言程序的基本单位是()
A)程序行 B)语句 C)函数 D)字符
15. 为表示关系x>=y>=z,应使用C语言表达式()
A) (x>=y) && (y>=z) B) (x>=y) AND (y>=z)
C) (x>=y>=z) D) (x>=y) & (y>=z)
16. 设 int a=0,b=5,c=2;选择可执行x++ 的语句是()
A)if(a) x++; B)if(a=b) x++; C)if(a=<b) x++; D)if(!(b-c)) x++;
17.设int i=5;则循环语句while(i>=1) i--;执行后,i的值为()
A) 1 B) 0 C) 5 D) 4
18.设有以下函数定义)
int f(char *s)
{char*p=s;
while(*p!=’\0’) p++;
return(p-s);
}
如果在主函数中用下面的语句调用上述函数,则输出结果为()
printf (“%d\n”,f(“goodbye!”));
A) 5 B )6 C) 8 D) 0
19.若x是int型变量,且下面的程序片段
for(x=3;x<6;x++)
printf((x%2)?(“* *%d”)) (“# #%d\n”),x);
上面程序段的输出结果为()
A)* *3 B)# #3 C)# #3 D)* *3# #4
# #4 * *4 * *4# #5 * *5
* *5 # #5
20.若x是整型变量,p是基类型为整型的指针变量,则正确的赋值表达式是()
A)p=&x; B)p=x C)*p=&x; D)*p=*x
21.若有以下定义和语句:
int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;
则不能正确表示a数组元素的表达式是()
A)*p B)a[10] C)*a D)a[p-a]
22.在以下一组运算中,优先级最高的运算符是()
A)<= B)= C)% D)&&
23.设有如下程序,运行结果是()
main()
{int y=9;
for( ;y>0;y--)
if (y%3= =0)printf("%d",--y);}
A)8 5 2 B)9 6 3 C)10 6 3 D)7 4 1
24. 选出可以用于C语言用户标识符的一组标识符()
A)void, detine,WORD B)a3_b3, _a12,IF
C)for,-abc,Case D)2a,DO,sizeof
25. 以下for循环()
for (x=0,y=0;(y!=123)&&(x<4);x++)
A)是无限循环 B)循环次数不定 C)执行4次 D)执行3次
26. 下述对C语言字符数组的描述中错误的是()
A)字符数组可以存放字符串。
B)字符数组中字符串可以整体输入输出。
C)可以在赋值语句中通过赋值运算符“=”对字符数组整体赋值。
D)不可以用关系运算符对字符数组中的字符串进行比较。
27.以下程序的输出结果是()
#include<string.h>
main()
{ char *p1,*p2,str[20]=”A”;
p1=”boy”;p2=”girl”;
strcpy(str,strcat(p1,p2));
printf(“%s\n”,str);
}
A) Aboygirl B)boygirl C)boygirlA D) girlboy
28.以下叙述正确的是()
A)C语言程序总是从第一个定义的函数开始执行。
B)在C语言程序中,要调用的函数必须在main()函数中定义。
C)C程序总是从mani()函数开始执行
D)C程序中的main()函数必须放在程序的开始部分。
29.下面程序要求从键盘上输入值并打印,请选择正确的输入方法()。
main()
{ int a,b;
scanf(“please input a and b:%d %d”,&a,&b);
printf(“a=%d,b=%d\n”,a ,b);
}
A) 5 , 6 B) please input a and b :5 6 C)5↙6 D)5 6
30.一个函数返回值的类型是由() 决定的。
A)返回值类型 B) 函数类型 C) 形式参数类型 D) 实参类型
温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-05-07
1-5. B D D B A
6-10.A D B B D
11-15.B C C C A
16-20.B B C D A
21-25.B C A B C
26-30.C B C B B
------------------------------
更正,谢谢楼上提醒
13.C.......\012是一个字符,汗,总共6个字符
30.B,,,,,,这个拿不准,参考楼上
------------------------------
暂不更正的
19.D
我感觉还是这个答案对啊,第一次X等于3,3%2=1,执行..* *3,然后4%2=0,执行..# #4回车
26.C
C错了吧,只能在初始化时整体赋值,不能在程序内用赋值语句赋值。
第2个回答  2009-05-07
1. B, 2. D, 3. D, 4. B, 5. A, 6. A, 7. D, 8. B, 9. B, 10. D, 11. B, 12. B, 13. C, 14. B, 15. A, 16. B, 17. B, 18. C, 19. 无法判断,语句有错。20. A, 21. C, 22. C, 23. A, 24. B, 25. C, 26. C, 27. 无法判断, 可能答案是B。28. C, 29. D, 30. B本回答被提问者采纳
第3个回答  2009-05-07
7.D
13.C
19.少一),呵
26.D
30.B
只是看了一下两位高手做的不一样的地方
第4个回答  2009-05-07
BDDBA ADBBD BCCCA BBCCA BCABC DBCBB
相似回答