一、 单项选择题(共40分,每小题2分)
1. 声明语句为“char a[10]”,执行printf(“%d,%d\n”,sizeof(a),strlen(strcpy(a, “Windows”)));语句后的输出结果为( )。
A.7,7 B.7,8 C. 10,7 D. 10,8
2. 以“只读”方式打开文本文件c:\xy.text,下列语句中哪一个是正确的( )。
A.fp=fopen(“c:\\xy.txt”, “a”); B. fp=fopen(“c:\\xy.txt”, “r”);
C. fp=fopen(“c:\\xy.txt”, “wb”) D. fp=fopen(“c:\xy.txt”, “r”);
3. 要为字符型变量a赋初值,下列语句中哪一个是正确的( )。
A.char a='3'; B.char a=“3” C. char a=%; D. char a=*;
4. 常量字符串”This is Sunday!”,通过strlen函数求其长度,结果为( )。
A.14 B.15 C. 16 D. 17
5. 若定义数组char a[10],char *p=a,则下面变量中,表示地址的是( )。
A.a+4 B.*p C. &a D. &p
6. 在下面定义中,是指针数组的为( )。
A. int *p[8] B. int (*p)[8] C. int (*p)(8) D. int *p(8)
7. 在C语言中可以用( )来定义一个新的变量类型。
A. #define B. #include C. typedef D. struct
8. 下面函数中不是关于文件操作的是( )。
A. fopen B. fclose C. fseek D. format
9. 结构型变量占用内存的字节数是( )。
A.各成员占用内存字节数之和
B.第一个成员占用的内存字节数
C.占用内存最大成员所需的字节数
D.最后一个成员占用的内存字节数
10. 设 struct st
{ int i;
int j;} *p;
main ( )
{
struct st m[ ]={{10, 1}, {20, 2}, {30, 3}};
p=m;
printf (〃%d\n〃,(*++p). j);
}
则程序的输出结果是( )。
A. 1 B. 2 C. 3 D. 10
11. 若p是一个字符指针,则&*p为( )。
A. 地址 B. 字符 C. 字符串 D. NULL。
12. 如果有二维数组a[8][6],则可以使用地址方式来表示第i行第j列的元素的是( )。
A. a[i][j] B. *(*(a+i)+j) C. *(*(a+j)+i) D. *a[i][j]
13. 在说明语句:int *f();中,标识符f代表的是( )。
A.一个用于指向整型数据的指针变量
B.一个用于指向一维数组的行指针
C.一个用于指向函数的指针变量
D.一个返回值为指针型的函数名
14. 如果定义结构体
struct student {
int id;
char name[8];
} *s1;
则如果要表示其成员变量,可以用( )。
A. s1.name B. s1->name C. s1[name] D. s1=name
15. 若有以下的定义:int a[]={1,2,3,4,5,6,7,8,9,10},*p=a,则值为3的表达式是( )。
A. p+=2,*(p++) B. p+=2,*++p C. p+=3,*p++ D. p+=2,++*p
16. 在定义了数组int a[5][6];后,第10个元素是( )。
A.a[2][5] B.a[2][4] C.a[1][3] D.a[4][2]
17. 现有语句:int a[10], *p=a;,则下列表达式中不能表示数组第i个元素的是( )。
A.a[i] B.*(a+i) C.*(p+i) D.*p+i
18. 现有语句char chName[10]={“Wang”};,则语句sizeof(chName)的结果为( )。
A.3; B.4 C.10 D.9
19. 设结构体S定义为:struct S{ short g; char h; double *pf;};,则该结构体共占用( )个字节(短整型变量占2个字节)。
A.11 B.7 C.8 D.14
20. 表示链表结构结束的标识符是( )。
A.NULL B.EOF C.BOF D./0
在线跪求C语言试题答案,请高手帮帮我~~~
1.C(sizeof取的是真个数组长度,strlen取的则是字符串长度)2.B(反斜杠“\\”本身有转义符的概念,当需要使用时,需要先转义,所以写成“\\\\”。而只读方式为“r”,“a”为附加,“wb”为二进制写入)3.A(字符要用单引号引用,双引号是字符串,区别在于字符串最后有一个空字符作为结束,而字符没...
C语言试题啊,求大神帮忙答案啊!
d、register 这个题目容易,没有指定当然是自动指定的了。本题答案为a。另外一个小知识,我们平常看到的int a,b,c;实际上省略了auto,全部应该是 auto int a,b,c;题号:7 以下程序的运行结果是( )void sub (int x,int y,int *z){*z=y-x;}main(){int a,b,c;sub (10,5,&a)...
C语言题目 求大佬帮看一下
首先说一下题目的答案是:11 程序运行了一下, 截图如下:下面解析一下原因:1、根据判断条件来看,当 k = 10时, while 条件不成立。2、但是需要注意的一点是,在while条件中,使用的是 K++, 而++符号在后面。3、++运算符使用有两种, 先+1在用, 和先使用在+1。而此处使用的明明是后者。4...
C语言的题,都不难,帮忙解答,追加悬赏喔。麻烦把各个选项都解释解释最好...
A)int a=b=0 ;不允许这样赋值,可以int b=0;a=b;B)char A=65+1,b='b';这个A的赋值错误,C)float a=1,*b=&a,*c=&b ; 这个&b的是指针类型,而C却是float D)double a=0.0,b=1.1; 正确 第十一题:先判断a>b,不是,所以a=b不执行,接着执行c=a,所以这时c,a都是3,在...
C语言题,求高手指点!?
答案A 在使用指针变量P之前没有对其初始化,不能使用。2. 答案B 错误纠正 int *s,k;s=&k;s=100;通A,都是指针在使用前没有初始化。3.答案C 正确 4. 答案D 错误 s=p;是错误的 因为s是 一个整型数指针,而p是字符型指针。指针类型不同的两个变量不能赋值。=== 希望我的回答对你有所...
两道c语言题,谢谢帮帮忙
我给你第一题的答案:include<stdio.h> include<math.h> void getit(int);bool haveit=false;void main(){ while(true){ int a,i;printf("请输入一个整数\\n这个数以下的完全平方数将全部输出>:");scanf("%d",&a);getit(a);printf(haveit==true? "输出完毕!\\n":"%d 以下没有完全...
急求解答:C语言程序设计试题 请专长人士帮忙解答 谢!!!
一、填空题 1.一个函数一般由两部分组成,它们分别是函数名和函数体。2.一个C语言的程序至少应包含一个主函数。3.函数体用{符号开始,用}符号结束。4.欲将一个16位二进制的整数变量的高8位清零,而只保留低8位,可用的方法是和0x00ff进行与运算。5.数组在内存中是一块连续的储存区,数组名...
C语言习题请高手帮忙解答
1.1:-200 2500 2:i=-200,j=2500 3: i=-200 j=2500 2.i=12 j=0 k=0 3. 复合语句在语法上被认为是一条语句。空语句形式是只有一个分号的空行 4.C语句最后用分号结束
C语言高手帮帮我!!!
i++=t*=i可以这样算.先算t*=i => t=(t*i); 再算 i++=t; => (i=t;i++;)第二题:第一次循环.k=1; if不运行得到a = b =s[1]-'0' 的ASC码.第二次循环k=2(也就是最后一次循环)=> a=s[1]-'0'+s[2]-'0'都用ASC码运算....
C语言高手进,帮忙解答一下下列各题的标准答案。此题是我的重要复习题...
专业回答,质量保证!【答案】32.D 33.B 36.A 45.C 47.C 50.D 58.B 【解析】32.字符串数组除了里面的实际字符,系统还会自动的分配一个结束符"\\0",所以该数组所占空间为6+1=7个。33.一句话说不明白,放心,已经通过程序验证,答案肯定正确。36.括号内的只能算是一个参数。45.因为是...