视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
设 char ch
2025-10-03 05:31:23 责编:小OO
文档
设 char ch; 以下不正确的赋值语句是_____。 

选择一个答案 

A. ch=68; 
B. ch="\\\\"; 

C. ch='\\xef'; 
D. ch='\\123'; 
在 C 语言中int, long, unsigned 和 char这四种类型数据的转换规律是_____。

选择一个答案 

a. char->int->long->unsigned 

b. int->unsigned->long->char 

c. char->int->unsigned->long 

d. char->unsigned->long->int 

设a=2,b=3;则表达式a^b>>2的值是_____。

选择一个答案 

A. 00000100 

B. 00000011 

C. 00000110 

D. 00000010 

以下关于源程序与目标程序的关系,不正确的是 。

选择一个答案 

A. 用C语言编写 的源程序需要经过编译程序编译为目标程序 

B. 不同高级语言的编译器应该是一样的,都负责将源程序编译为目标程序 

C. 用机器语言编写的源程序就是目标程序 

D. 用汇编语言编写的源程序需要经过汇编程序汇编为目标程序 

C语言中,“\x5d”在内存中占用的字节数是____。

选择一个答案 

A. 4 

B. 5 

C. 1 

D. 2 

下列符号中能用作C标识符的是____。

选择一个答案 

A. break 

B. 2xy 

C. _abc 

D. &a3 

有如下程序段: 

int a1,a2; 

char c1,c2; 

scanf("%d%c%d%c",&a1,&c1,&a2,&c2); 

 若要求 a1,a2,c1,c2 的值分别为 10 , 20 , A , B 正确的数据输入是______。 

选择一个答案 

A. 10 A20B 

B. 10 A 20 B 

C. 10A20 B 

D. 10A 20B 

C语言的短整型数值在计算机中占用的字节个数是_______。

选择一个答案 

A. 1 

B. 2 

C. 4 

D. 3 

若有下列定义和语句: double r=1 , *p=&r; *p=r; 则下列说法正确的是 __ 。 

选择一个答案 

A. 在double r=1,*p=&r; 把r的地址赋给了p所指的存储单元 

B. 语句*p=r; 把变量r的值赋给指针变量p 

C. 以上两处的*p含义相同,都说明给指针变量p赋值 

D. 语句*p=r; 把变量r的值放回r中 

以下程序段执行后,变量k的值是 __。 

int arr[10], i, k = 0; 

for ( i = 0; i < 10; i++) arr[i] = i;

for ( i = 0; i < 4; i++) k += arr[i] + i;

选择一个答案 

A. 90 
B. 45 
C. 20 
D. 12 

若有以下定义和语句,则选项中错误的语句是 __。

int a=4,b=3,*p,*q,*w;

p=&a; q=&b; w=q; q=NULL;

选择一个答案 

A. *p=*w; 
B. *p=b; 
C. w=p; 
D. *q=0; 

以下能对一维数组a进行正确初始化的形式是 __。

选择一个答案 

A. int a[10]=(0,0,0,0,0); 
B. int a[10 ]={, ,1, ,2,3}; 
C. int a[10]={10*1}; 
D. int a[10]={ } 
以下程序给数组所有元素输入数据,填入 __能完成该功能。

#include

int main() 

{

int array[5],i=0;

while(i<5)

scanf("%d __);

return 0;

}

选择一个答案 

A. &array[++i] 
B. array+(i++) 

C. &array[i+1] 
D. array+i 
以下程序段有错,错误原因是 __。

int main

{

int *p, i;

char *q, ch;

p=&i;

q=&ch;

*p=40;

*p=*q;

.....

}

选择一个答案 

A. *p中存放的是地址值,因此不能执行语句*p=40; 

B. q虽然指向了具体的存储单元,但该单元无确定值,所以执行语句*p=*q无意义 

C. p和q的类型不一致,不能执行语句*p=*q 

D. q没有执行具体的存储单元,所以*q没有实际意义 

分数: 0.9/1 

下列对指针p的操作,正确的是     。

选择一个答案 

A. int a[5]={ 1,2 ,3,4,5},*p=&a; *p=5 ; 
B. float a[5]; int *p=a; 
C. int a,*p=&a; 
D. int *p ; *p=2 ; 

此题考查的是对指针的操作。答案 A 的错误在于,在定义了指针以后,并没有获得确定的地址,而通过 *p=2 向一个不确定的地址中写入内容是很危险的,将可能导致程序意外终止;答案 B 的错误在于,指针 p 的基类型是 int 型 ,数组 a 的基类型也是 int 型 ,但是 &a 的基类型是 int  [5] ,所以 int *p=&a 不符合指针赋值类型需要一致的要求;答案 D 的错误是在于,指针 p 的基类型是 int 型 ,数组 a 的基类型却是 float 型 ,所以 int *p=&a 不符合指针赋值类型需要一致的要求;答案 C 正确,变量 a 是 int 型,则 &a 就是以 int 型为基类型的指针值,此答案表示指针 p 获得一个简单变量的地址而不是一维数组的起始地址。 

以下程序段执行后,变量k的值是 __。 

int arr[10], i, k = 0; 

for ( i = 0; i < 10; i++) arr[i] = i;

for ( i = 0; i < 4; i++) k += arr[i] + i;

选择一个答案 

A. 90 
B. 12 

C. 45 
D. 2
若定义int m[10]={9,4,12,8,2,10,7,5,1,3},*p=m;下列哪一个表达式的结果与其他3个表达式的结果不同 __。

选择一个答案 

A. sizeof(m) 
B. sizeof(p) 
C. sizeof(*p) 

D. sizeof(*m) 
设 int s[10];*p=s; 以下不正确的表达式是 __。 

选择一个答案 

A. s[2]=p[4]; 
B. s=p+s; 

C. *p=s[0]; 
D. p=s+5; 

分数: 0.9/1 若int I=10; 执行下列程序后,变量I的正确结果是 __。

 switch ( I ) {case 9: I++;

 case 10: I++;

 case 11: I++; break;

default: I++; }选择一个答案   A. 12    

  B. 10   

  C. 11   

  D. 13   

.

分数: 0.7/1 

.若已定义一个有返回值的函数,则调用该函数的叙述中错误的是 __ 。 

选择一个答案 

A. 函数调用可以作为一个函数形参 

B. 函数调用可以作为的语句存在 

C. 函数调用可以出现在表达式中 

D. 函数调用可以作为一个函数实参 

分数: 0.8/1 

设有下列程序段: 

static char b=2; 

void Y 

{ static float d=4;....... } 

int a=1; 

void X 

{ int c=3; ...... } 

关于程序段中各变量的属性,以下叙述中错误的是 __ 。 

选择一个答案 

A. a是全局变量,函数X可以访问,函数Y不能访问 

B. c是动态变量,函数X可访问,函数Y不可访问 

C. d是静态变量,函数X和函数Y都可以访问 

D. b是全局变量,函数X和函数Y都可以访问 

分数: 0.8/1 

下面关于复合语句的描述,不正确的是         。

选择一个答案 

A. 复合语句可以定义自己的变量 

B. 复合语句之内定义的变量在复合语句之外的本函数内仍然可以使用 

C. 复合语句的变量和函数的局部变量可以同名 

D. 复合语句是由大括号包含起来的一组语句 

14 

分数: 0/1 

若指针p已正确定义,要使p指向两个连续的字符型动态存储单元,不正确的语句是         。

选择一个答案 

A. p=(char *)malloc(2*sizeof(char)); 
B. p=(char *)malloc(2); 

C. p=(char *)calloc(2,sizeof(char)); 
D. p=2*(char*)malloc(sizeof(char)); 
【解析】 此题主要考查 malloc 和 calloc 两个函数的调用形式。 malloc 函数只有一个参数,表示总共申请连续多少个字节; calloc 函数需要两个参数,第一个参数表示相同空间的个数,第二个参数表示每一个元素占几个单元。这两人函数的返回值都是 void * ,因此要进行强制类型转换。根据以上分析,以上答案 B 、 C 、A 都是正确答案,因为 char 类型的值只要一个字节,故两连续的字符型动态单元申请正确,与 B 答案其实是一样的。答案D 的错误在于未正确理解 malloc 函数其参数的意义。 

分数: 0.8/1 

若有以下程序 : 

#include

void f(int n); 

int main() 

void f(int n); 

f(5); 

return 0; 

void f(int n) 

{ printf("%d\\n",n); } 

则以下叙述中不正确的是 __ 。 

选择一个答案 

A. 若只在主函数中对函数f进行说明,则只能在主函数中正确调用函数f 

B. 若在主函数前对函数f进行说明,则在主函数和其后的其它函数中都可以正确调用函数f 

C. 对于以上程序,编译时系统会提示出错信息:提示对f函数重复说明 

D. 函数f无返回值,所以可用void将其类型定义为无类型 

分数: 0.8/1 

写出程序的运行结果。 

#include

void f(int n) 

{ if 

{ f(n/8); 

printf(“%d”,n%8); 

int main() 

f(123); 

return 0; 

}

分数: 0.7/1 

如果有定义:int x=1,y=2; int *const p=&x;,则下列语句中正确的是__________。

选择一个答案 

A. p++ 
B. *p=y 
C. scanf(”%d”,*p); 
D. p=&y; 

【解析】 此题考查的是 const 常类型的各种表示的含义及要求。此题中, int *const 表示指针 p 不允许改变,但是 p 所指向的内容可以改变,因此,答案 A 和 B 试图改变 p 指针的值是错误的;答案 D 本身 scanf 函数的参数就有错,第二个参数不应该是 *p ;答案 C 是改变 p 所指向的内容,因此是正确的。 

分数: 0.9/1 

如下定义: int a=5,b=3; const int *p=&a; 下列语句合法的是 。

选择一个答案 

a. p=&b; 

b. p=&b; *p+=2; 
c. *p=2; 
d. p--; 
如下定义: int a=5,b=3; int *const p=&a; 下列语句合法的是 。

选择一个答案 

A. p=&b; 
B. p--; 
C. *p=2; 

D. p=&b; *p+=2; 
以下程序的输出结果是 _________ 。 

#include

int main 

int b=5; 

#define b 2 

#define f(x) b*x 

int y=3; 

printf("%d,",f(y+1)); 

#undef b 

printf("%d,",f(y+1)); 

#define b 3 

printf("%d\\n",f(y+1)); 

return 0; 

}

答案: 

下载本文

显示全文
专题