C语言笔试试题

合集下载

c笔试题目及答案

c笔试题目及答案

c笔试题目及答案1. 题目:以下哪个选项是C语言中的合法变量名?A. 2variableB. variable2C. _variableD. variable-2答案:C2. 题目:以下哪个关键字用于定义一个函数?A. classB. functionC. defD. int答案:D3. 题目:C语言中,哪个运算符用于将变量的值增加1?A. +=B. --C. +=D. ++答案:D4. 题目:以下哪个选项是C语言中的合法数组声明?A. int arr[10];B. int arr[];C. int arr[10] = {0};D. All of the above答案:D5. 题目:C语言中,哪个函数用于计算字符串的长度?A. strlen()B. length()C. size()D. count()答案:A6. 题目:以下哪个选项是C语言中正确的注释方式?A. // This is a single line commentB. /* This is a single line comment */C. // This is a single line comment/* This is a multi-line comment */D. All of the above答案:D7. 题目:C语言中,哪个关键字用于定义一个结构体?A. structB. classC. unionD. enum答案:A8. 题目:以下哪个选项是C语言中正确的文件包含指令?A. #include <stdio.h>B. #include "stdio.h"C. #include <stdio.h>#include "stdio.h"D. All of the above答案:A9. 题目:以下哪个选项是C语言中正确的条件语句?A. if (condition)B. switch (condition)C. case (condition)D. All of the above答案:A10. 题目:C语言中,哪个关键字用于定义一个指针?A. pointerB. ptrC. *D. reference答案:C。

100条经典C语言笔试题目(全)

100条经典C语言笔试题目(全)

100条经典C语言笔试题目1、请填写bool,float,指针变量与“零值”比较的if语句。

提示:这里“零值”可以是0,0.0,FALSE 或者“空指针”。

例如int变量n与“零值”比较的if语句为:if ( n == 0 )if ( n != 0 )以此类推。

(1)请写出 bool flag 与“零值”比较的 if 语句:【标准答案】if ( flag )if ( !flag )(2)请写出 float x 与“零值”比较的 if 语句:【标准答案】 const float EPSINON = 0.00001;if ((x >= - EPSINON) && (x <= EPSINON)不可将浮点变量用“==”或“!=”与数字比较,应该设法转化成“>=”或“<=”此类形式。

(3)请写出 char *p 与“零值”比较的 if 语句【标准答案】 if (p == NULL)if (p != NULL)2、以下为 Linux下的 32 位 C程序,请计算 sizeof 的值。

char str[] = “Hello” ;char *p = str ;int n = 10;请计算(1)sizeof (str ) =(2)sizeof ( p ) =(3)sizeof ( n ) =【标准答案】(1)6、(2)4、(3)4(4)void Func ( char str[100]) {……;} 请计算 sizeof( str ) = (5)void *p = malloc( 100 );请计算sizeof ( p ) =【标准答案】(4)4、(5)43、 long a=0x801010;a+5=?【标准答案】0x801010用二进制表示为:“1000 0000 0001 0000 0001 0000”,十进制的值为8392720,再加上5就是8392725。

4、用变量a给出下面的定义e) 一个有10个指针的数组,该指针是指向一个整型数的;f) 一个指向有10个整型数数组的指针 ;g) 一个指向函数的指针,该函数有一个整型参数并返回一个整型数;h) 一个有10个指针的数组,该指针指向一个函数,该函数有一个整型参数并返回一个整型数;【标准答案】e)int * a[10]; f)int (*a)[10]g)int (*a)(int); h) int (*a[10])(int)5、设有以下说明和定义: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));的执行结果是:_____【标准答案】DATE是一个union, 变量公用空间. 里面最大的变量类型是int[5], 占用20个字节. 所以它的大小是20.data是一个struct, 每个变量分开占用空间. 依次为int4 + DATE20 + double8 = 32.所以结果是 20 + 32 = 52。

c语言笔试题

c语言笔试题

c语言笔试题1. 编写一个C程序,交换两个整数变量的值。

```c#include <stdio.h>int main() {int a, b, temp;printf("请输入两个整数:\n");scanf("%d%d", &a, &b);printf("交换前的值:a = %d, b = %d\n", a, b);temp = a;a = b;b = temp;printf("交换后的值:a = %d, b = %d\n", a, b);return 0;}```2. 编写一个C程序,计算斐波那契数列的第n项。

```c#include <stdio.h>int fib(int n) {if (n == 0 || n == 1) {return n;} else {return fib(n - 1) + fib(n - 2);}}int main() {int n;printf("请输入一个正整数:\n");scanf("%d", &n);printf("斐波那契数列的第%d项为:%d\n", n, fib(n)); return 0;}```3. 编写一个C程序,打印九九乘法表。

```c#include <stdio.h>int main() {int i, j;for (i = 1; i <= 9; i++) {for (j = 1; j <= i; j++) {printf("%d * %d = %d\t", i, j, i * j);}printf("\n");}return 0;}```4. 编写一个C程序,判断一个正整数是否为素数。

```c#include <stdio.h>int isPrime(int n) {int i;if (n <= 1) {return 0;}for (i = 2; i * i <= n; i++) {if (n % i == 0) {return 0;}}return 1;}int main() {int n;printf("请输入一个正整数:\n"); scanf("%d", &n);if (isPrime(n)) {printf("%d是素数。

C语言笔试题目及答案

C语言笔试题目及答案

C语言笔试题目及答案下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。

(1)算法的空间复杂度是指________。

A)算法程序的长度B)算法程序中的指令条数C)算法程序所占的存储空间D)算法执行过程中所需要的存储空间答案:D评析:一个算法的空间复杂度,一般是指执行这个算法所需的内存空间。

一个算法所占用的存储空间包括算法程序所占的空间、输入的初始数据所占的存储空间以及算法执行过程中所需要的额外空间。

(2)下列关于栈的叙述中正确的是________。

A)在栈中只能插入数据B)在栈中只能删除数据C)栈是先进先出的线性表D)栈是先进后出的线性表答案:D评析:栈是限定在一端进行插入与删除的线性表。

栈是按照“先进后出”的或“后进先出”的原则组织数据的,因此,栈也被称为“先进后出”表或“后进先出”表。

(3)在深度为5的满二叉树中,叶子结点的个数为________。

A)32 B)31 C)16 D)15答案:C评析:所谓满二叉树是指除最后一层外,每层上的所有结点都有两个子结点。

也就是说,在满二叉树中,每一层上的结点数都达到最大值,即在满二叉树的第K层上有2K-1个结点,且深度为m的满二叉树有2m个结点。

在满二叉树中,最后一层的结点个数就是叶子结点的个数,本题中深度为5,故叶子结点数为25-1=24=16。

(4)对建立良好的程序设计风格,下面描述正确的是________。

A)程序应简单、清晰、可读性好B)符号名的命名要符合语法C)充分考虑程序的执行效率D)程序的注释可有可无答案:A评析:要形成良好的程序设计风格,主要应注重和考虑下述一些因素:符号名的命名应具有一定的实际含义,以便于对程序功能的理解;正确的注释能够帮助读者理解程序;程序编写应优先考虑清晰性,除非对效率有特殊要求,程序编写要做到清晰第一,效率第二。

(5)下面对对象概念描述错误的是________。

c语言笔试考试题及答案

c语言笔试考试题及答案

c语言笔试考试题及答案一、选择题1. 在C语言中,字符型数据使用的关键字是:A. charB. intC. floatD. double答案:A2. 下列标识符中合法的是:A. 123nameB. _nameC. name$D. %name答案:B3. 表达式"5 + 3 * 2 - 4 / 2"的值是:A. 9B. 12C. 10D. 8答案:C4. 下列哪个语句可以用于在屏幕上输出字符型变量c的值:A. printf("%c", c);B. printf("%d", c);C. printf("%s", c);D. printf("%f", c);答案:A5. 下列哪个语句可以用于从键盘输入整型变量a的值:A. scanf("%d", a);B. scanf("%f", &a);C. scanf("%s", a);D. scanf("%c", &a);答案:B二、编程题1. 编写一个程序,输入一个整数n,计算并输出n的阶乘。

答案:```c#include <stdio.h>int main() {int n, i;long long factorial = 1;printf("请输入一个整数:");scanf("%d", &n);for (i = 1; i <= n; i++) {factorial *= i;}printf("%d的阶乘为:%lld\n", n, factorial);return 0;}```2. 编写一个程序,输入一个整数n,判断并输出n是否为素数。

答案:```c#include <stdio.h>int isPrime(int num) {int i;if (num <= 1) {return 0;}for (i = 2; i <= num / 2; i++) { if (num % i == 0) {return 0;}}return 1;}int main() {int n;printf("请输入一个整数:"); scanf("%d", &n);if (isPrime(n)) {printf("%d是素数\n", n); } else {printf("%d不是素数\n", n); }return 0;}```三、简答题1. C语言中的指针有什么作用?答案:指针在C语言中用于直接访问内存地址,可以提高程序的执行效率和灵活性。

c语言笔试题目及答案

c语言笔试题目及答案

c语言笔试题目及答案C语言是一门通用计算机编程语言,应用广泛。

C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

下面是c语言笔试题目及答案,请参考。

c语言笔试题目及答案一、选择题((1)~(10)每小题2分,(11)~(50)每小题1分,共60分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确的选项涂写在答题卡相应位置上,答在试卷上不得分。

(1)数据的存储结构是指________。

A)存储在外存中的数据 B)数据所占的存储空间量C)数据在计算机中的顺序存储方式 D)数据的逻辑结构在计算机中的表示答案:D评析:数据的逻辑结构在计算机存储空间中的存放形式形式称为数据的存储结构(也称数据的物理结构)。

(2)下列关于栈的描述中错误的是________。

A)栈是先进后出的线性表B)栈只能顺序存储C)栈具有记忆作用D)对栈的插入与删除操作中,不需要改变栈底指针答案:B评析:栈是一种特殊的线性表,又称先进后出表(FILO—First In Last Out)。

(3)对于长度为n的线性表,在最坏情况下,下列各排序法所对应的比较次数中正确的是________。

A)冒泡排序为n2 B)冒泡排序为nC)快速排序为n D)快速排序为n(n一1)/2答案:D评析:假设线性表的长度为n,则在最坏情况下,冒泡排序需要经过n/2遍的从前往后扫描和n/2遍的从后往前扫描,需要比较次数为n(n-1)/2。

快速排序法的最坏情况比较次数也是n(n-1)/2。

(4)对长度为n的线性表进行顺序查找,在最坏情况下所需要的比较次数为________。

A)log2n B)n/2 C)n D)n+l答案:C评析:顺序查找过程中,如果被查找的元素是线性表中的最后一个元素,或者元素不在线性表中,则需要与线性表中所有的元素进行比较。

对长度为n的线性表进行顺序查找,在最坏情况下需要比较n次。

c语言笔试考试题及答案

c语言笔试考试题及答案

c语言笔试考试题及答案1. 以下哪个选项是C语言中的关键字?A) intB) IntegerC) stringD) float答案:A2. C语言中,用于定义一个整型变量的关键字是什么?A) varB) integerC) intD) float答案:C3. 在C语言中,以下哪个函数用于将整数转换为字符串?A) sprintfB) atoiC) itoaD) printf答案:C4. 下列哪个选项不是C语言中的运算符?A) %B) &&C) ==D) ++答案:B5. 在C语言中,以下哪个语句用于结束一个循环?A) breakB) continueC) returnD) exit答案:A6. 以下哪个函数用于获取当前时间?A) time()B) localtime()C) mktime()D) strftime()答案:A7. C语言中,以下哪个选项是正确的注释格式?A) /* This is a comment */B) // This is a commentC) //* This is a commentD) # This is a comment答案:A8. 在C语言中,以下哪个选项是正确的数组声明?A) int arr[5] = {1, 2, 3, 4, 5};B) int arr[] = {1, 2, 3, 4, 5};C) int arr[5] = {1, 2, 3};D) int arr = {1, 2, 3, 4, 5};答案:A9. 在C语言中,以下哪个选项是正确的字符串声明?A) char str[] = "Hello";B) char str = "Hello";C) char str[] = {"Hello"};D) char str = {"Hello"};答案:A10. 在C语言中,以下哪个函数用于将字符串转换为浮点数?A) atofB) atoiC) itoaD) sprintf答案:A。

c语言笔试考试题及答案

c语言笔试考试题及答案

c语言笔试考试题及答案C语言笔试考试题及答案一、选择题(每题2分,共20分)1. 下列哪个选项是C语言中的关键字?A. intB. floatC. doubleD. string答案:A2. C语言中,int类型变量的默认初始值是多少?A. 0B. 1C. -1D. 随机值答案:A3. 以下哪个是正确的C语言函数声明?A. int function(int a, int b)B. void function(int a, int b)C. int function(int a, int b) {}D. int function(int a, int b) {return a + b;}答案:B4. 在C语言中,哪个运算符用于求两个数的余数?A. /B. %C. *D. -答案:B5. 下列哪个是C语言中正确的数组声明?A. int array[10];B. int array = 10;C. int array(10);D. int [10] array;答案:A6. C语言中,哪个语句用于结束程序的执行?A. break;B. continue;C. return;D. exit;答案:C7. 在C语言中,哪个函数用于计算两个数的和?A. sum(int a, int b)B. add(int a, int b)C. plus(int a, int b)D. None of the above答案:D8. 在C语言中,哪个关键字用于定义一个函数?A. functionB. defC. methodD. void答案:A9. 下列哪个选项是C语言中的控制流语句?A. ifB. switchC. caseD. All of the above答案:D10. 在C语言中,哪个语句用于实现循环?A. forB. whileC. do-whileD. All of the above答案:D二、填空题(每空2分,共20分)1. C语言中,____ 用于定义一个字符常量。

c语言笔试练习题

c语言笔试练习题

3.1 综合练习题13.1.1 试题一、选择(1-30每题1分,31-45每题2分,共60分)1 . 在C语言中,如果下面的变量都是int类型,则输出的结果是()#include<stdio.h>main(){int sum,pad;sum=pad=5;pad=sum++,pad++,++pad;printf("%d\n",pad);}A) 7 B) 6 C) 5 D) 42 . 以下程序的输出结果是()#include <stdio.h>main(){int i=010,j=10;printf("%d,%d\n",++i,j--);}A) 11,10 B) 9,10 C) 010,9 D) 10,93 . 已知在ASCⅡ代码中,字母A的序号是65,以下程序的输出的结果是()#include<stdio.h>main(){char c1='A',c2='Y';printf("%d,%d\n",c1,c2);}A) 因输出格式不合法,输出错误信息 B)65,90 C)A,Y D)65,894 . 指针s所指字符串的长度为()char*s="\\"Name\\Address\n";A) 19 B) 15 C) 18 D) 说法不合法5 . 设有说明int(*ptr)[m];其中的标识符ptr是()A) M个指向整型变量的指针B)指向M个整型变量的函数指针C)一个指向具有M个整型元素的一维数组的指针D)具有M个指针元素的一维指针数组,每个元素都只能指向整型量6 . 语句while(!E);中的条件!E等介于A) E= =0 B) E! =1 C) E! =0 D) ~E7 . 以下程序的输出结果是()#include<stdio.h>main()ptrintf("%d\n",NULL);}A)不确定的(因变量无定义) B)0 C)-1 D)18 . 以下函数调用语句中含有()个实参。

c语言笔试考试题及答案

c语言笔试考试题及答案

c语言笔试考试题及答案C语言笔试考试题及答案一、选择题(每题2分,共20分)1. C语言中,以下哪个是合法的变量名?A. 2variableB. variable-nameC. variable_nameD. variable$name答案:C2. 下列哪个选项是C语言的关键字?A. defineB. intC. integerD. float答案:B3. 以下哪个语句不能通过编译?A. int a = 10;B. int b = 10.5;C. int c = 'a';D. int d = 1.0;答案:B4. C语言中,以下哪个函数用于计算两个数的和?A. pow()B. sqrt()C. sin()D. sum()答案:D(注意:sum()不是C语言标准库函数,这里假设它是一个自定义函数)5. 以下哪个选项是正确的C语言数组声明?A. int numbers[];B. int numbers[10] = {};C. int numbers = 10;D. int [10] numbers;答案:B6. 以下哪个是C语言中正确的字符串字面量?A. "Hello World"B. 'Hello World'C. "Hello\nWorld"D. "Hello\"World"答案:A7. 在C语言中,以下哪个是正确的函数声明?A. void myFunction();B. int myFunction;C. myFunction();D. int myFunction()答案:A8. 下列哪个选项不是C语言的标准输入输出库函数?A. printf()B. scanf()C. cout()D. getchar()答案:C9. 在C语言中,以下哪个是正确的逻辑运算符?A. &&B. ||C. ||D. ++答案:A10. 下列哪个选项是C语言的预处理指令?A. #includeB. defineC. ifD. else答案:A二、简答题(每题5分,共20分)1. 请简述C语言中数组和指针的区别。

c语言笔试试题及答案

c语言笔试试题及答案

c语言笔试试题及答案一、1、一个完整的计算机系统包括A)主机与外部设备B)主机与操作系统C)硬件系统与软件系统D)CPU、存储器与外部设备本题的正确答案是:C)2、计算机的存储器完整的应包括A)内存储器与外存储器B)磁盘、磁带与光盘C)RAM与ROMD)软盘与硬盘本题的正确答案是:A)解析:存储器包括内部存储器和外部存储器,而选项B,D只能统称为外部存储器,选项C 属于内部存储器。

3、十进制数927的十六进制值表示形式为A)39FB) 39EC) 3AED) 361本题的正确答案是:A)解析:本题考查不同进制数之间的转换.4、WPS字处理软件属于A)系统软件B)应用软件C)管理软件D)多媒体软件5、在计算机内部,一切信息的存取、处理与传送均采用A)二进制B)十六进制C)BCD码D)ASCII码本题的正确答案是:A)6、计算机中,能够用来与外存交换信息的是A)键盘B)RAMC)显示器D)ROM本题的正确答案是:B)解析:RAM中存储着当前使用的程序、数据、中间结果和与外存交换的数据,CPU根据需要可以直接读/写RAM中的内容。

7、微机的主机与外设相连的设备是A)磁盘驱动器B)输入/输出接口电路C)总线D)内存本题的正确答案是:B)解析:外部设备是通过接口电路连至主机。

总线是CPU、存储器和输入输出接口之间的通道。

8、在多媒体计算机系统中,不能存储多媒体信息的是A)光盘B)磁盘C)磁带D)光缆解析:光缆是多媒体信息的传输通道,不能存储多媒体信息。

9、要将当前盘当前目录下一个文本文件内容显示在屏幕上,正确的命令形式是A) TYPE A*.*B) TYPE EAST. EXEC) TYPE PRO.C>PRND) TYPE ZFC.TXT本题的正确答案是:D)解析:TYPE命令不能使用通配符,A项排除;扩展名为EXE的文件是可执行文件,B项排除;C项是把pro. C送往打印机,故排除。

10、重新启动DOS,应同时按下A) Ctrl+Alt+DelB) Ctrl+Alt+EscC) Ctrl+Alt+ShiftD) Ctrl+Esc+Del本题的正确答案是:A)11、DOS文本文件的扩展名是A) .SYS B).DOC C).COM D).TXT本题的正确答案是:D)解析:SYS为系统专用文件,DOC为Word 文档文件,COM为系统命令文件,TXT为文本文件。

c语言笔试题及答案

c语言笔试题及答案

c语言笔试题及答案C语言笔试题及答案一、选择题(每题2分,共20分)1. 下列哪个选项是C语言的关键字?A. voidB. intC. floatD. all of the above答案:D2. C语言中,哪个函数用于计算两个数的和?A. add()B. sum()C. max()D. min()答案:A3. 在C语言中,以下哪个是正确的字符串定义方式?A. char str[10] = "Hello";B. string str = "Hello";C. char str[] = "Hello";D. char str = "Hello";答案:A4. 以下哪个选项不是C语言的基本数据类型?A. intB. floatC. doubleD. string答案:D5. 在C语言中,以下哪个语句是正确的循环语句?A. whileB. do-whileC. forD. all of the above答案:D二、填空题(每空2分,共20分)6. C语言中,定义一个整型变量的关键字是________。

答案:int7. 在C语言中,表示逻辑与的运算符是________。

答案:&&8. 一个C语言程序的执行从________函数开始。

答案:main9. 在C语言中,数组的索引从________开始。

答案:010. C语言中,表示逻辑非的运算符是________。

答案:!三、简答题(每题10分,共20分)11. 简述C语言中函数的定义和调用过程。

答案:在C语言中,函数定义包括返回类型、函数名、参数列表和函数体。

调用函数时,需要使用函数名和相应的参数列表。

12. 解释C语言中指针的概念及其用途。

答案:指针是C语言中一种特殊的变量,它存储了另一个变量的内存地址。

指针主要用于直接访问内存地址,实现动态内存分配,以及函数参数的传递等。

c语言笔试题目100及最佳答案

c语言笔试题目100及最佳答案

c语言笔试题目100及最佳答案1. 以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. 在C语言中,以下哪种数据类型是用于存储字符的?A. intB. charC. floatD. double答案:B3. 以下哪个选项不是C语言中的控制语句?A. ifB. whileC. forD. switch答案:D4. 在C语言中,以下哪个运算符用于执行算术运算?A. %B. &&C. ==D. +答案:D5. 如何定义一个具有10个元素的整型数组?A. int array[10];B. int array(10);C. int array[10] = {0};D. int array = 10;答案:A6. 在C语言中,以下哪个函数用于将字符串转换为浮点数?A. atoiB. atofC. itoaD. sprintf答案:B7. 在C语言中,以下哪个函数用于计算数组中元素的数量?A. sizeofB. lengthC. countD. size答案:A8. 在C语言中,以下哪个关键字用于定义一个函数?A. functionB. defC. voidD. int答案:C9. 在C语言中,以下哪个关键字用于声明一个全局变量?A. externB. staticC. globalD. local答案:A10. 在C语言中,以下哪个函数用于打开一个文件?A. fopenB. openC. readD. write答案:A11. 在C语言中,以下哪个函数用于关闭一个文件?A. fcloseB. closeC. endD. finish答案:A12. 在C语言中,以下哪个函数用于读取一个字符?A. getcharB. getcC. fgetcD. scanf答案:A13. 在C语言中,以下哪个函数用于写入一个字符?A. putcharB. putcC. fputcD. printf答案:A14. 在C语言中,以下哪个函数用于格式化输出?A. printfB. sprintfC. fprintfD. all of the above答案:D15. 在C语言中,以下哪个函数用于格式化输入?A. scanfB. sscanfC. fscanfD. all of the above答案:D16. 在C语言中,以下哪个函数用于计算字符串的长度?A. strlenB. lengthC. sizeD. count答案:A17. 在C语言中,以下哪个函数用于连接两个字符串?A. strcatB. strncatC. strcpyD. strncpy答案:A18. 在C语言中,以下哪个函数用于复制一个字符串?A. strcatB. strncatC. strcpyD. strncpy答案:C19. 在C语言中,以下哪个函数用于比较两个字符串?A. strcmpB. strcpyC. strcatD. strncpy答案:A20. 在C语言中,以下哪个函数用于查找字符串中子串的位置?A. strstrB. strchrC. strrchrD. strcspn答案:A。

c语言经典笔试题及答案详解

c语言经典笔试题及答案详解

c语言经典笔试题及答案详解1. 题目:以下代码的输出是什么?```c#include <stdio.h>int main() {int a = 1;int b = 2;int c = a + b;printf("%d", c);return 0;}```答案:输出是3。

2. 题目:如何使用指针交换两个变量的值?答案:可以使用以下代码:```c#include <stdio.h>void swap(int *x, int *y) {int temp = *x;*x = *y;*y = temp;}int main() {int a = 10;int b = 20;swap(&a, &b);printf("a = %d, b = %d\n", a, b); return 0;}```输出将是:a = 20, b = 10。

3. 题目:以下代码的输出是什么?```c#include <stdio.h>int main() {char *str = "Hello, World!";printf("%c", *(str + 7));return 0;}```答案:输出是W。

4. 题目:以下代码段的输出是什么?```c#include <stdio.h>int main() {int x = 10;if (x = 20)printf("x is 20\n");elseprintf("x is not 20\n");return 0;```答案:输出是x is 20。

注意这里if语句中使用了赋值运算符(=)而不是比较运算符(==),因此x被赋值为20,条件判断为真。

5. 题目:以下代码的输出是什么?```c#include <stdio.h>int main() {int a = 2;int b = 4;int c = a & b;printf("%d", c);return 0;}```答案:输出是0。

c语言笔试题(答案)

c语言笔试题(答案)

c语言笔试题(答案)笔试题一、填空题(每个空4分,共28分)1)struct tagABC{char name[10];char sex;long sno;float score[4];}*pAbc;(四字节对齐)pAbc=NULL;那么,执行pAbc+=2;之后pAbc的值为(64 )2)如下代码,最终value的值是(8)int *p1,*p2;int value;p1=(int*)0×400;p2=(int*)0×408;value = p2-p1;3)如下代码,printf的结果为(2)#include〈stdio.h〉#include〈string.h〉void main(void){char acNew[20]= “\\0\0”;printf(“%d\n”,strlen(acNew));}4) 有如下程序段,运行该程序的输出结果是(33)main (){int y=3,x=3,z=1;printf(“%d%d\n”,(++x,y++),z+2);}5)设有:int a=1,b=2,c=3,d=4,m=2,n=2;执行(m=a>b)&&(n=c>d)后,n的值为(2)6)struct tagAAA{Unsigned char ucId:1;Unsigned char ucPara0:2;Unsigned char ucState:6;Unsigned char ucTail:4;Unsigned char ucAvail;Unsigned char unTail2:4;Unsigned long ulData;}AAA_S问:AAA_S在字节对齐分别为1,4情况下,占用的空间大小分别是多少?( 9)(12 )二、选择题(每题2分,共34分)1)若有说明int(*p)[3];以下叙述正确的是( D )A:p是指针数组B:(*p)[3]和*p[3]等价C:p是指向一维数组中任何一个元素的指针D:p是指向含有3个整型元素的一维数组的指针2)以下关于单元测试的描述,哪些是对的?(D)A:黑盒测试针对软件的功能,不考虑功能的实现细节;B:白盒测试针对源代码的测试,从程序功能的具体实现上找错;C:路径覆盖是黑盒测试的一种方法,编写测试用例使程序的每条语句都能走到;D:条件覆盖是百盒测试的一种方法, 编写测试用例使程序的每个判断的各种情况都能到3)以下可以用于任务间通信的有(ABCD)A:共享内存 B:信号量C:消息队列和管道 D:socket调用4)有关结构,以下哪些描述是对的?(BC)A:为了测试方便,尽量把一个结构的功能设计得多一些B:不同结构间的关系不要过于复杂C:结构中的各元素应代表同一事务的不同侧面,而不应把描述没有关系或关系很弱的不同事务的元素放到同一结构中D:结构中元素的布局与排列顺序可以随意设计5)关于强制类型转化,下面说法正确的是(ABCD)A:当目的结构的空间大于源结构的空间时,要重点关注内存访问超过源结构范围的情形,可能越界;B:当目的结构的空间小于源结构的空间时,要重点关注对目的结构赋值不能完全覆盖源结构范围的情形,可能遗漏;C:结构体之间的强制类型转换时,其成员字段的数据类型的差异也是要格外小心的; D:与结构体之间的强制类型转换相比,基本数据结构的强制类型转换更容易出现上面描述的情况,使用的时候,一定要慎之又慎;6)正确的使用assert,软件系统不会对人为原因造成的错误进行处理。

c的笔试题及答案

c的笔试题及答案

c的笔试题及答案1. 选择题:(1)以下哪个不是C语言的关键字?A. intB. floatC. doubleD. case(2)以下哪个运算符用于判断两个值是否相等?A. ==B. !=C. >D. &&(3)在C语言中,以下哪个循环结构不会先判断条件再执行循环体?A. while循环B. do-while循环C. for循环(4)以下哪个函数用于输出字符到屏幕上?A. printf()B. scanf()C. getchar()D. putchar()2. 填空题:(1)C语言中,用于声明整型变量的关键字是______。

(2)在C语言中,条件运算符的格式为______。

(3)以下是一个典型的for循环语句:for (i = 0; i < 10; i++) {printf("%d ", i);}那么上述代码的输出结果是______。

3. 简答题:(1)请简要解释C语言的数据类型。

包括基本数据类型和派生数据类型的定义和特点。

(2)什么是函数?请简要解释函数的定义和调用,并给出一个简单的函数示例。

(3)请简要介绍一下C语言中的条件语句if-else的用法,并给出一个简单的if-else语句示例。

答案:1. (1)D;(2)A;(3)C;(4)A2. (1)int;(2)exp1 ? exp2 : exp3;(3)0 1 2 3 4 5 6 7 8 93. (1)基本数据类型:包括整型、浮点型、字符型和空类型,其定义不依赖其他数据类型;派生数据类型:包括数组、结构体和指针类型,其定义依赖于基本数据类型或其他派生数据类型。

基本数据类型具有固定的存储空间和取值范围,而派生数据类型可以根据需要组合和扩展基本数据类型。

(2)函数是一段完成特定任务的程序代码。

函数的定义包括函数头和函数体,函数头包括函数返回类型、函数名和参数列表,函数体包括函数执行的代码。

函数的调用是通过函数名和传递给函数的参数来调用的。

c语言笔试题目及答案

c语言笔试题目及答案

c语言笔试题目及答案一、选择题(每题2分,共10分)1. 下列哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. C语言中,用于定义一个字符常量的是?A. 'a'B. "a"C. aD. 1答案:A3. 下列哪个选项是正确的C语言函数定义?A. int function();B. int function;C. int function int x;D. int function(int x)答案:D4. 以下哪个选项不是C语言中的运算符?A. %=B. &&C. ::D. ||答案:C5. 在C语言中,一个变量的声明应该放在?A. 函数内部B. 函数外部C. 函数内部或外部D. 只能放在函数内部答案:C二、填空题(每题2分,共10分)1. 在C语言中,____关键字用于声明一个外部变量。

答案:extern2. C语言中,用于定义一个指针的语法是____。

答案:*变量名3. 用于在C语言中声明一个函数的关键字是____。

答案:int4. 在C语言中,____运算符用于计算两个整数的差。

答案:-5. 用于在C语言中声明一个数组的语法是____。

答案:类型名数组名[数组大小]三、简答题(每题5分,共20分)1. 简述C语言中数组和指针的关系。

答案:在C语言中,数组名可以被看作是一个指向数组首元素的指针,数组的每个元素可以通过指针运算来访问。

2. 解释C语言中的递归函数是什么?答案:递归函数是指在函数定义中调用自身的函数,它通常用于解决可以分解为更小、相似问题的任务。

3. 什么是C语言中的预处理指令?答案:预处理指令是C语言编译过程中处理的特殊指令,它们不是C语言的一部分,但对编译过程有影响,如#include、#define等。

4. 描述C语言中如何实现文件的读写。

答案:在C语言中,可以使用fopen、fprintf、fscanf、fclose 等函数来实现文件的打开、写入、读取和关闭。

c语言经典笔试题(非常全)

c语言经典笔试题(非常全)

1. 用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题)#define SECONDS_PER_YEAR (60 * 60 * 24 * 365)UL2. 写一个“标准”宏MIN,这个宏输入两个参数并返回较小的一个。

#define MIN(A,B) ((A) <= (B) (A) : (B))4. 嵌入式系统中经常要用到无限循环,你怎么样用C编写死循环呢?这个问题用几个解决方案。

我首选的方案是:while(1){}一些程序员更喜欢如下方案:for(;;){}第三个方案是用gotoLoop:...goto Loop;5. 用变量a给出下面的定义a) 一个整型数(An integer)b) 一个指向整型数的指针(A pointer to an integer)c) 一个指向指针的的指针,它指向的指针是指向一个整型数(A pointer to a pointer to an integer)d) 一个有10个整型数的数组(An array of 10 integers)e) 一个有10个指针的数组,该指针是指向一个整型数的(An array of 10 pointers to integers)f) 一个指向有10个整型数数组的指针(A pointer to an array of 10 integers)g) 一个指向函数的指针,该函数有一个整型参数并返回一个整型数(A pointer to a function that takes an integer as an argument and returns an integer)h) 一个有10个指针的数组,该指针指向一个函数,该函数有一个整型参数并返回一个整型数(An array of ten pointers to functions that take an integer argument and return an integer )答案是:a) int a; // An integerb) int *a; // A pointer to an integerc) int **a; // A pointer to a pointer to an integerd) int a[10]; // An array of 10 integerse) int *a[10]; // An array of 10 pointers to integersf) int (*a)[10]; // A pointer to an array of 10 integersg) int (*a)(int); // A pointer to a function a that takes an integer argument and returns an integerh) int (*a[10])(int); // An array of 10 pointers to functions that take an integer argument and return an integer6. 关键字static的作用是什么?这个简单的问题很少有人能回答完全。

C语言笔试集含答案.doc

C语言笔试集含答案.doc

C语言笔试集(含答案)下面的题目必须全部答对才给分:1、如何在c中初始化一个字符数组。

2、如何在C中为一个数组分配空间。

3、如何初始化一个指针数组。

4、如何定义一个有10个元素的整数型指针数组。

5、s[10]的另外一种表达方式是什么。

6、版本中支持哪几种编程语言。

7、要使用CHAR_BIT需要包含哪个头文件。

8、对(-)取整是多少?9、如何让局部变量具有全局生命期。

10、C中的常量字符串应在何时定义?11、如何在两个.c文件中引用对方的变量。

12、使用mal loc之前需要做什么准备工作。

13、r e al loc函数在使用上要注意什么问题。

14、s trtok函数在使用上要注意什么问题。

15、g ets函数在使用上要注意什么问题。

16、C语言的词法分析在长度规则方面采用的是什么策略?17、a+++++b所表示的是什么意思?有什么问题?18、如何定义Bool变量的TRUE和FALSE的值。

19、C语言的con st的含义是什么。

在定义常量时,为什么推荐使用co nst,而不是#define。

20、C语言的volati le的含义是什么。

使用时会对编译器有什么暗示。

这部分是A NSI C的一些问题,题目的前提是必须都答对,看似很变态,但是细想一下,这些都是最基础的,虽然我们在使用他们的时候会犯这样那样的错误,但是最终目的是不犯错误,不是么,那么好,从最基础的开始。

1、如何在C中初始化一个字符数组。

这个问题看似很简单,但是我们要将最简单的问题用最严谨的态度来对待。

关键的地方:初始化、字符型、数组。

最简单的方法是chararray 口;。

这个问题看似解决了, 但是在初始化上好像还欠缺点什么,个人认为:chararra y ⑸二{' 1’,' 2 ' , ' 3’,' 4 ' , ' 5’ };或者 c hara rray[5 ] = { " 1 2345 " };或者ch arar ray[2] [ 10]={ “China ” , " Beijing" };也许更符合“初始化”的意思。

C语言笔试题带参考答案

C语言笔试题带参考答案

一、选择题(1)~(10)每小题2分,? (11)~(50)每小题1分,共60分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确的选项涂写在答题卡相应位置上,答在试卷上不得分。

(1)在数据结构中,从逻辑上可以把数据结构分为_______。

A)动态结构和静态结构??? ??B)紧凑结构和非紧凑结构C)线性结构和非线性结构??? D)内部结构和外部结构答案:C评析:非线性(2)。

A)1,4,C)3,1,答案:C评析:l先于2 (3)_______。

A)答案:A评析:(4),所需的关键码比较次数为_______。

A)2??? ??B)3?????? C)4 ???????D)5答案:C评析:二分法查找是用关键码与线性表的中间元素比较,然后根据比较结果来判断是结束查找,还是在左边或者右边子表按相同的方法继续查找。

本题中,与ll比较的关键码分别为15,8,10,12四个。

(5)对于n个结点的单向链表(无表头结点),需要指针单元的个数至少为_______。

答案:C评析:在n个结点的单向链表(无表头结点)中,每个结点都有一个指针单元(即指针域),加上头指针,至少需要n+1个指针单元。

(6)在软件开发过程中,软件结构设计是描述_______。

A)数据存储结构?? ??B)软件体系结构??? C)软件结构测试??? D)软件控制过程答案:B评析:从工程管理角度来看,软件设计分两步完成:概要设计和详细设计。

概要设计(又称结构设计)(7)的一类是A)答案:D评析:能内聚。

(8)A)答案:D评析:(9)A)答案:D评析:数据模型的完整性规则是给定的数据模型中数据及其联系所具有的制约和依存规则,用以限定符合数据模型的数据库状态及其状态的变化,以保证数据的正确性、有效性和相容性。

(10)关系代数运算是以_______为基础的运算。

A)关系运算??? B)谓词运算??? C)集合运算???? D)代数运算答案:C评析:关系代数运算是以关系代数作为运算对象的一组高级运算的集合。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

A)p=a
B)q[i]=a[i]
C)p=a[i]
D)p=&a[2][1]
28.
(28)有以下程序
#include
#include
main()
{ char str[][20]={"One*World","One*Dream!"},*p=str[1];
printf("%d,",strlen(p));
n+=a++;
return n;
}
程序运行后的输出结果是
A)7
B)8
C)9
D)10
35.
(35)有以下程序
#include
#define f(x) x*x*x
main()
{ int a=3,s,t;
s=f(a+1);t=f((a+1));
21.
(21)有以下程序
# n=2,k=0;
while(k++&&n++>2);
printf("%d %d\n",k,n);
}
程序运行后的输出结果是
A)0 2
B)1 3
C)5 7
D)1 2
22.
(22)有以下定义语句,编译时会出现编译错误的是
A)0
B)3
C)4
D)5
15.(15)若有定义语句: int x=10;,则表达式x-=x+x的值为
A)-20
B)-10
C)0
D)10
16.(16)有以下程序
#include
main()
{ int a=1,b=0;
printf("%d,",b=a+b);
printf("%d",p);
}
main()
{ int a=1;
fun(a);
printf("%d\n",a);
}
程序运行后的输出结果是
A)32
B)12
C)21
D)22
25.
(25)以下函数findmax拟实现在数组中查找最大值并作为函数值返回,
B)struct ord {int x;int y;int z;} struct ord a;
C)struct ord {int x;int y;int z;} n;
D)struct {int x;int y;int z;} a;
37.(37)设有定义: char *c;以下选项中能够使字符型指针C正确指向一个字符串的是
A) char str[]="string";c=str;
B) scanf("%s",c);
printf("%c,%d\n",c1,c2);
}
已知字母A的ASCII码为65,程序运行后的输出结果是
A)E,68
B)D,69
C)E,D
D)输出无定值
24.
(24)有以下程序
#include
void fun(int p)
{ int d=2;
p=d++;
A)定义语句int i,max中max未赋值
B)赋值语句max=MIN;中,不应该给max赋MIN值
C)语句if(maxD)赋值语句max=MIN;放错了位置
26.
(26)有以下程序
#include
main()
{ int m=1,n=2,*p=&m,*q=&n,*r;
1.(1)下列数据结构中,属于非线性结构的是
A)循环队列
B)带链队列
C)二叉树
D)带链栈
2.
(2)下列数据结构中,能够按照“先进后出”原则存取数据的是
A)循环队列
B)栈
C)队列
D)二叉树
3.
(3)对于循环队列,下列叙述中正确的是
A)队头指针是固定不变的
B)PAD图
C)程序流程图
D)E-R图
8.
(8)数据库管理系统是
A)操作系统的一部分
B)在操作系统支持下的系统软件
C)一种编译系统
D)一种操作系统
9.
(9)在E-R图中,用来表示实体联系的图形是
A)椭圆形
B)矩形
C)菱形
D)三角形
10.(10)有三个关系R,S,和T如下:
printf("%d,%d\n",s,t);
}
程序运行后的输出结果是
A)10,64
B)10,10
C)64,10
D)64,64
36.
(36)下面结构体的定义语句中,错误的是
A)struct ord {int x;int y;int z;};struct ord a;
r=p;p=q;q=r;
printf("%d,%d,%d,%d\n",m,n,*p,*q);
}
程序运行后的输出结果是
A)1,2,1,2
B)1,2,2,1
C)2,1,2,1
D)2,1,1,2
27.
(27)若有定义语句: int a[4][10],*p,*q[4];且0<=i<4,则错误的赋值是
main()
{ char s[]={"012xy"};int i,n=0;
for(i=0;s[i]!=0;i++)
if(s[i]>'a'&&s[i]<='z') n++;
printf("%d\n",n);
}
程序运行后的输出结果是
A)0
B)2
C)3
D)5
printf("%s\n",p);
}
程序运行后的输出结果是
A)9,One*World
B)9,One*Dream!
C)10,One*Dream!
D)10,One*World
29.
(29)有以下程序
#include
main()
{ int a[]={2,3,5,4},i;
}
该程序在编译时产生错误,其出错原因是
A)定义语句出错,case是关键字,不能用作用户自定义标识符
B)定义语句出错,printF不能用作用户自定义标识符
C)定义语句无错,scanf不能作为输入函数使用
D)定义语句无措,printf不能输出case的值
14.(14)表达式:(int)((double)9/2)-(9)%2的值是
D)void (*pf)(int,char);pf=&fun;
34.(34)有以下程序
#include
int f(int n);
main()
{ int a=3,s;
s=f(a);s=s+f(a);printf("%d\n",s);
}
int f(int n)
{ static int a=1;
printf("%d",a=2*b);
}
程序运行后的输出结果是
A)0,0
B)1,0
C)3,2
D)1,2
17.(17)设有定义: int a=1,b=2,c=3;,以下语句中执行效果与其它三个不同的是
A)if(a>b) c=a,a=b,b=c;
B)if(a>b){c=a,a=b,b=c;}
D)检查a和b所指字符串中是否有'\0'
33.
(33)设有以下函数:
void fun(int n,char *s){……}
则下面对函数指针的定义和赋值均正确的是
A)void (*pf)(); pf=fun;
B)void *pf(); pf=fun;
C)void *pf(); *pf=fun;
C)if(a>b) c=a;a=b;b=c;
D)if(a>b){c=a;a=b;b=c;}
18.(18)有以下程序
#include
main()
{ int c=0,k;
for(k=1;k<3;k++)
switch(k)
{ default:c+=k;
case 2:c++;break;
else k=0;
B)if((a>b)||(b>c)) k=1;
else k=0;
C)if(a<=b)k=0;
else if(b<=c) k=1;
D) if(a>b) k=1;
else if(b>c) k=1;
else k=0;
20.(20)有以下程序
#include
其中关系T由关系R和S通过某种操作得到,该操作为
A)选择
B)投影
C)交
D)并
11.(11)以下叙述中正确的是
A)程序设计的任务就是编写程序代码并上机调试
B)程序设计的任务就是确定所用的数据结构
C)程序设计的任务就是确定所用算法
相关文档
最新文档