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

2024-05-29 10:58

本文主要是介绍十道一般人无法及格的C语言试题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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   

这篇关于十道一般人无法及格的C语言试题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1013479

相关文章

GO语言短变量声明的实现示例

《GO语言短变量声明的实现示例》在Go语言中,短变量声明是一种简洁的变量声明方式,使用:=运算符,可以自动推断变量类型,下面就来具体介绍一下如何使用,感兴趣的可以了解一下... 目录基本语法功能特点与var的区别适用场景注意事项基本语法variableName := value功能特点1、自动类型推

GO语言中函数命名返回值的使用

《GO语言中函数命名返回值的使用》在Go语言中,函数可以为其返回值指定名称,这被称为命名返回值或命名返回参数,这种特性可以使代码更清晰,特别是在返回多个值时,感兴趣的可以了解一下... 目录基本语法函数命名返回特点代码示例命名特点基本语法func functionName(parameters) (nam

Go语言连接MySQL数据库执行基本的增删改查

《Go语言连接MySQL数据库执行基本的增删改查》在后端开发中,MySQL是最常用的关系型数据库之一,本文主要为大家详细介绍了如何使用Go连接MySQL数据库并执行基本的增删改查吧... 目录Go语言连接mysql数据库准备工作安装 MySQL 驱动代码实现运行结果注意事项Go语言执行基本的增删改查准备工作

Go语言使用Gin处理路由参数和查询参数

《Go语言使用Gin处理路由参数和查询参数》在WebAPI开发中,处理路由参数(PathParameter)和查询参数(QueryParameter)是非常常见的需求,下面我们就来看看Go语言... 目录一、路由参数 vs 查询参数二、Gin 获取路由参数和查询参数三、示例代码四、运行与测试1. 测试编程路

Go语言使用net/http构建一个RESTful API的示例代码

《Go语言使用net/http构建一个RESTfulAPI的示例代码》Go的标准库net/http提供了构建Web服务所需的强大功能,虽然众多第三方框架(如Gin、Echo)已经封装了很多功能,但... 目录引言一、什么是 RESTful API?二、实战目标:用户信息管理 API三、代码实现1. 用户数据

Go语言网络故障诊断与调试技巧

《Go语言网络故障诊断与调试技巧》在分布式系统和微服务架构的浪潮中,网络编程成为系统性能和可靠性的核心支柱,从高并发的API服务到实时通信应用,网络的稳定性直接影响用户体验,本文面向熟悉Go基本语法和... 目录1. 引言2. Go 语言网络编程的优势与特色2.1 简洁高效的标准库2.2 强大的并发模型2.

Go语言使用sync.Mutex实现资源加锁

《Go语言使用sync.Mutex实现资源加锁》数据共享是一把双刃剑,Go语言为我们提供了sync.Mutex,一种最基础也是最常用的加锁方式,用于保证在任意时刻只有一个goroutine能访问共享... 目录一、什么是 Mutex二、为什么需要加锁三、实战案例:并发安全的计数器1. 未加锁示例(存在竞态)

C语言自定义类型之联合和枚举解读

《C语言自定义类型之联合和枚举解读》联合体共享内存,大小由最大成员决定,遵循对齐规则;枚举类型列举可能值,提升可读性和类型安全性,两者在C语言中用于优化内存和程序效率... 目录一、联合体1.1 联合体类型的声明1.2 联合体的特点1.2.1 特点11.2.2 特点21.2.3 特点31.3 联合体的大小1

Go语言使用select监听多个channel的示例详解

《Go语言使用select监听多个channel的示例详解》本文将聚焦Go并发中的一个强力工具,select,这篇文章将通过实际案例学习如何优雅地监听多个Channel,实现多任务处理、超时控制和非阻... 目录一、前言:为什么要使用select二、实战目标三、案例代码:监听两个任务结果和超时四、运行示例五

C语言中%zu的用法解读

《C语言中%zu的用法解读》size_t是无符号整数类型,用于表示对象大小或内存操作结果,%zu是C99标准中专为size_t设计的printf占位符,避免因类型不匹配导致错误,使用%u或%d可能引发... 目录size_t 类型与 %zu 占位符%zu 的用途替代占位符的风险兼容性说明其他相关占位符验证示