解析c语言笔试题
数据类型
1. 请问以下哪个数据类型是不允许使用负号的?
答案:unsigned
解析:unsigned是一种无符号数据类型,其取值范围为0~65535,不允许使用负号。
2. 请问以下哪个数据类型的长度是8位?
答案:char
解析:char是一种字符型数据类型,长度为8位。在某些系统中,char的长度可能为16位。
程序设计
1. 请问以下程序的输出结果是什么?
```c #include答案:10
解析:三目运算符,如果b大于c,则a等于b,否则a等于c,此处c大于b,所以a等于10。
2. 请问以下程序有什么错误?
```c #include答案:错误的数据类型定义
解析:str1应该被定义为字符数组类型,而不是字符类型。正确的写法为:`char str1[] = \"hello\";`。
指针
1. 请问以下程序的输出结果是什么?
```c #include答案:a=10, b=5
解析:swap函数接收两个指向整型变量的指针,通过指针交换变量的值,所以a和b的值交换了。
2. 请问以下程序有什么错误?
```c #include答案:指针未分配内存
解析:指针str未分配内存,指向了常量字符串\"hello\",会发生未知错误。应该使用字符数组类型存储字符串,或使用动态内存分配分配内存空间给指针。
总结:是c语言笔试题的部分解析,希望对大家有所帮助。在学习c语言的过程中,需要牢记数据类型、程序设计和指针的相关知识点,多做练习题才能掌握好c语言的基础知识。