题目:100条经典C语言笔试题目(1-5)

题目:

1 、请填写 bool , float, 指针变量 与"零值"比较的if 语句。

提示:这里"零值"可以是 0, 0.0 , FALSE 或者"空指针" 。例如 int 变量 n 与"零值"比较的 if 语句为:

(1)请写出bool flag 与"零值"比较的 if 语句:

(2)请写出float x与"零值"比较的if 语句:

(3)请写出 char *p 与"零值"比较的 if 语句

2、以下为 Linux下的 32 位 C程序,请计算 sizeof 的值。
c 复制代码
char  str[] = "Hello" ; 
char   *p = str ;   
int     n = 10;                                                               
请计算:                                                    
 (1)sizeof (str ) =                  (2)sizeof ( p ) =                 (3)sizeof ( n ) =
3、long a=0x801010; a+5=?
4、用变量a给出下面的定义

e) 一个有10个指针的数组,该指针是指向一个整型数的;

f) 一个指向有10个整型数数组的指针 ;

g) 一个指向函数的指针,该函数有一个整型参数并返回一个整型数;

h) 一个有10个指针的数组,该指针指向一个函数,该函数有一个整型参数并返回一个整型数;

5、设有以下说明和定义:
c 复制代码
typedef union {
    long  i ;
    int k[5]; 
    char c;
} DATE;
 struct  data { 
     int cat; 
     DATE cow; 
     double dog;
 } too;
 DATE max;
则语句 printf ("%d", sizeof( struct date)+ sizeof(max));的执行结果是

答案

1、

c 复制代码
(1)if ( flag )  if ( !flag )
(2)const float EPSINON = 0.00001;                                           
	if ((x >= - EPSINON) && (x <= EPSINON)               
    不可将浮点变量用"=="或"!="与数字比较,应该设法转化成">="或"<="此类形式。 
(3)if (p == NULL)    if (p != NULL) 

2、

c 复制代码
(1)6、(2)4、(3)4

3、

c 复制代码
0x801010用二进制表示为:"1000 0000 0001 0000 0001 0000",十进制的值为8392720,再加上5就是8392725。

4、

c 复制代码
e)int * a[10];      
f)int (*a)[10]                                             
g)int (*a)(int);   
h) int (*a[10])(int)

5、

c 复制代码
DATE是一个union, 变量公用空间. 里面最大的变量类型是int[5], 占用20个字节. 所以它的大小是20
data是一个struct, 每个变量分开占用空间. 依次为int4 + DATE20 + double8 = 32.
20 + 32 = 52.
相关推荐
老花眼猫1 小时前
曼陀罗2-曼陀罗图案自由创制App
c语言·经验分享·青少年编程·课程设计
爱读书的小胖2 小时前
Codewars: A Brave New Wordle(C)解题分析
c语言·数据结构·算法
Escalating_xu2 小时前
【数据结构】顺序表的应用:动态通讯录项目与双指针经典算法
c语言·数据结构·算法
从小白到软工3 小时前
C语言(中)预告
c语言·数据结构·经验分享·ai编程
Logic1014 小时前
C语言/数据结构字符串题解:解压缩“字符+次数“格式——多位数字处理与字符串还原
c语言·数据结构·字符串·模拟·时间复杂度·空间复杂度·算法题
SuperByteMaster5 小时前
while(1){;} 加分号
c语言
Logic1015 小时前
C语言/数据结构位运算题解:异或XOR找出糖葫芦派对中的“独一无二山楂果数量“——只出现一次的数字
c语言·数据结构·数组·位运算·时间复杂度·算法题·异或性质
星恒随风5 小时前
Linux进程信号(一):从Ctrl+C到kill、raise、alarm,深入理解信号的概念与产生原理
linux·c语言·笔记·学习·状态模式
学逆向的6 小时前
C 浮点数e(科学计数法)
c语言·开发语言·网络安全
知识分享小能手6 小时前
C学习教程,从入门到精通,C语言数组 —— 知识点详解(8)
c语言·学习·算法