十道一般人无法及格的C语言试题

来源:互联网 发布:qq头像ps源码 编辑:程序博客网 时间:2024/05/16 14:58
1、对下述代码说法正确的是: 对下述代码说法正确的是: ( 
#include <stdio.h> 
int main(void) 

 char aChar; 
 int aInt; 
 aInt = aChar = -120; 
 printf("%d\n", aInt); 
 return 0; 
}
 A、 一定输出-120 。 B、一定不能输出-120 。 C、可能输出-120。 D、输出 %d 
 2、对下述代码说法正确的是: 对下述代码说法正确的是: 说法正确的是 ( ) 
 void main(void) 
 { 
 char a[] = {0, 1, 2, 3}; 
 int *p = (int *)a; printf(“%d ”, *p); 

提示:字符 0 的 ASCII 码是 48. 
A、输出 0 B、输出 48 C、如果 CUP 是小端的话输出一个负数。 D、以上说法都不 正确。 
3、对下述代码说法正确的是: 对下述代码说法正确的是: 正确的是 ( )  
int main(void) 

 unsigned int a = 4; 
 int b = -10; 
 (a + b) > 0 ? printf("> 0") : printf("< 0"); 
 return 0;

A、输出 > 0 B、输出 < 0 C、没有输出 D、语法错误。 
4、 对下述代码说法正确的是: 正确的是 ( ) 
void main() 

 char a[3]; 
 char b[ ] = “China”; 
 a = b; 
 printf(“%s”,a); 

A. 输出:China B.输出:Ch C.输出:Chi D.编译出 错 
5、运行下述 C 程序会显示程序会显示( ) 
void swap(int *a, int *b) 

 int *temp = NULL; 
 temp = a; 
 a = b; 
 b = temp; 
 
void main() 

 int a = 1; 
 int b = 2; 
 swap (&amp;a, &amp;b); 
 printf(“%d,%d”, a, b); 

A、 输出 1, 2. B、输出 2,1 C、 swap 函数编译出错。 D、函数调用出错。 
6、对下述 C 代码说法正确的是 代码说法正确的是( )
struct student 

 char *name; 
 float mark; 
}; 
void main()

 struct student stud; 
 stud.name = (char *)malloc(10);//假设申请成功 
 memset(&amp;stud, 0, sizeof(struct student)); 
 strcpy(stud.name, “cc”); 
 printf(“%s\n”, stud.name); 
 
A、输出 cc 。B、没有输出 。C、输出 0 。 D、strcpy(stud.name, “cc”);出现段错误。 
7、对下述 C 代码说法正确的是代码说法正确的是( ) 
void my_free(void *p) 

 free(p); 
 p = NULL; 

void main() 

 int *p = (int *)malloc(sizeof(p)); //假设申请成功 
 *p = 10; 
 my_free(p); 
 if (p != NULL) 
 { 
  *p = 20; 
 } 

A、 语法错误。 B、发生内存遗漏。 C、 发生内存重写。 D、既发生内存遗漏又发生内存重 写。
 8、对下述 C 代码说法正确的是代码说法正确的是( ) 
 void main() 
 { 
 const int a = 20; 
 int *p = &a;  
*p = 30; 
 printf(“%d\n”, *p); 
 return 0;
}

 A、 int *p = &a;报警告或错误。 
 B、*p = 30; 报警告或错误。 
 C、const int a = 20; 报警告或错误。 
 D、没有警告 或错误。 
 9 、有关下述代码说法正确的是 
  *intPointer = 5; 
  printf(" 内 存 地 址 %p 的 内 容 是 %d\n", intPointer, *intPointer); 
  *doublePointer = 12.5; printf(" 内 存 地 址 %p 的 内 容 是 %d\n", doublePointer , *
 doublePointer); 
 free(intPointer); 
 free(doublePointer); 
 return 0; } 
 A、 上述代码可能会发生内存遗漏。 B、上述代码有语法错 误。 C、 上述代码出现段错误。 D、 上述代码可能会发生 内存重写。
10 、题目:有关下述代码说法正确的是()
File1.c 
 static int a = 5; 
File2.c 
 extern int a; 
 int fun() 
 { 
  a++; 
  return a; 
 } 
 void main(void) 
 { 
  printf(“%d”, fun()); 
  printf(“%d”, fun()); 
 } 
 A. 输出 6 7 C. 输出 6 6 B、编译文件时不报错,连接时报错 D、 编译 File2.c 时出错 

答案:CDADA DCABA  
0 0
原创粉丝点击