_C语言_考前冲刺-笔试

合集下载

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语言中数组和指针的区别。

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个字节. 所以它的大小是20data是一个struct, 每个变量分开占用空间. 依次为int4 + DATE20 + double8 = 32.所以结果是20 + 32 = 52.当然...在某些16位编辑器下, int可能是2字节,那么结果是int2 + DATE10 + double8 = 20 6、请问以下代码有什么问题:int main(){char a;char *str=&a;strcpy(str,"hello");printf(str);return 0;}【标准答案】没有为str分配内存空间,将会发生异常问题出在将一个字符串复制进一个字符变量指针所指地址。

全国计算机等级考试二级C语言笔试高频考点

全国计算机等级考试二级C语言笔试高频考点

文件的关闭:使用 fclose()函数,需要 提供文件指针
打开方式:r(只读 )、w(只写)、 (追加)、r+(读 写)、w+(写读) 、+(追加读写)
错误处理:使用 ferror()函数和 clererr()函数进行 错误检测和清除
文件的读写操作
文件的打开和关闭:使用fopen()和fclose()函数 文件的读写:使用fred()和fwrite()函数 文件的定位:使用fseek()函数 文件的随机读写:使用fgetc()和fputc()函数 文件的格式化读写:使用fscnf()和fprintf()函数 文件的缓冲区管理:使用setbuf()和setvbuf()函数
文件操作
05
文件的基本概念
文件:存储在磁盘上的一组相关数据的集合 文件类型:文本文件、二进制文件、数据文件等 文件名:标识文件的唯一名称,由字母、数字、下划线组成 文件路径:定位文件的路径,包括绝对路径和相对路径
文件的打开与关闭
文件的打开:使用 fopen()函数,需要 提供文件名和打开 方式
调试技巧与注意事项
• 使用断点调试:设置断点,逐步执行代码,查看变量值和程序状态 • 使用单步调试:逐行执行代码,查看变量值和程序状态 • 使用打印语句:在关键位置插入打印语句,查看变量值和程序状态 • 使用调试工具:使用调试工具,如Visul Studio的调试器,查看变量值和程序状态 • 注意变量类型和范围:避免变量类型不匹配和越界访问 • 注意逻辑错误:避免逻辑错误,如条件判断错误、循环控制错误等 • 注意函数调用和参数传递:避免函数调用错误和参数传递错误 • 注意内存管理:避免内存泄漏和野指针错误 • 注意代码规范和命名规则:遵守代码规范和命名规则,提高代码可读性和可维护性

计算机等级考试二级C语言考前冲刺预测试题及答案解析

计算机等级考试二级C语言考前冲刺预测试题及答案解析

2012年计算机等级考试二级C语言考前冲刺预测试题精选及答案解析一、选择题在下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。

(1)结构化程序设计主要强调是A)程序规模B)程序效率C)程序设计语言先进性D)程序易读性(2)为了避免流程图在描述程序逻辑时灵活性,提出了用方框图来代替传统程序流程图,通常也把这种图称为A)PAD图B)N-S图C)结构图D)数据流图(3)为了使模块尽可能独立,要求A)模块内聚程度要尽量高,且各模块间耦合程度要尽量强B)模块内聚程度要尽量高,且各模块间耦合程度要尽量弱C)模块内聚程度要尽量低,且各模块间耦合程度要尽量弱D)模块内聚程度要尽量低,且各模块间耦合程度要尽量强(4)需求分析阶段任务是确定A)软件开发方法B)软件开发工具C)软件开发费用D)软件系统功能(5)算法有穷性是指A)算法程序运行时间是有限B)算法程序所处理数据量是有限C)算法程序长度是有限D)算法只能被有限用户使用(6)对长度为n线性表排序,在最坏情况下,比较次数不是n(n-1)/2排序方法是A)快速排序B)冒泡排序C)直接插入排序D)堆排序(7)如果进栈序列为e1,e2,e3,e4,则可能出栈序列是A)e3,e1,e4,e2B)e2,e4,e3,e1C)e3,e4,e1,e2D) 任意顺序(8)将E-R图转换到关系模式时,实体与联系都可以表示成A)属性B)关系C)键D)域(9)有三个关系R、S和T如下:RB C Da 0 k1b 1 n1SB C Df 3 h2a 0 k1n 2 x1TB C Da 0 k1由关系R和S通过运算得到关系T,则所使用运算为A)并B)自然连接C)笛卡尔积D)交(10)下列有关数据库描述,正确是A)数据处理是将信息转化为数据过程B)数据物理独立性是指当数据逻辑结构改变时,数据存储结构不变C)关系中每一列称为元组,一个元组就是一个字段D)如果一个关系中属性或属性组并非该关系关键字,但它是另一个关系关键字,则称其为本关系外关键字(11)以下叙述中正确是A)用C程序实现算法必须要有输入和输出操作B)用C程序实现算法可以没有输出但必须要有输入C)用C程序实现算法可以没有输入但必须要有输出D)用C程序实现算法可以既没有输入也没有输出(12)下列可用于C语言用户标识符一组是A)void, define, WORDB)a3_3,_123,CarC)For, -abc, IF CaseD)2a, DO, sizeof(13)以下选项中可作为C语言合法常量是A)-80B)-080C)-8e1.0D)-80.0e(14)若有语句:char *line[5];,以下叙述中正确是A) 定义line是一个数组,每个数组元素是一个基类型为char为指针变量B) 定义line是一个指针变量,该变量可以指向一个长度为5字符型数组C) 定义line是一个指针数组,语句中*号称为间址运算符D) 定义line是一个指向字符型函数指针(15)以下定义语句中正确是A)int a=b=0;B)char A=65+1,b=′b′;C)float a=1,*b=&a,*c=&b;D)double a=00;b=1.1;(16)有以下程序段char ch; int k;ch=′a′;k=12;printf("%c,%d,",ch,ch,k); printf("k=%d \n",k);已知字符aASCII码值为97,则执行上述程序段后输出结果是A)因变量类型与格式描述符类型不匹配输出无定值B)输出项与格式描述符个数不符,输出为零值或不定值C)a,97,12k=12D)a,97,k=12(17)有以下程序main(){ int i,s=1;for (i=1;i<50;i++)if(!(i%5)&&!(i%3)) s+=i;printf("%d\n",s);}程序输出结果是A)409B)277C)1D)91(18)当变量c值不为2、4、6时,值也为"真"表达式是A)(c==2)||(c==4)||(c==6)B)(c>=2&& c<=6)||(c!=3)||(c!=5)C)(c>=2&&c<=6)&&!(c%2)D)(c>=2&& c<=6)&&(c%2!=1)(19)若变量已正确定义,有以下程序段int a=3,b=5,c=7;if(a>b) a=b; c=a;if(c!=a) c=b;printf("%d,%d,%d\n",a,b,c);其输出结果是A)程序段有语法错B)3,5,3C)3,5,5D)3,5,7(20)有以下程序#includemain(){ int x=1,y=0,a=0,b=0; switch(x){ case 1:switch(y){ case 0:a++; break;case 1:b++; break;}case 2:a++; b++; break; case 3:a++; b++;}printf("a=%d,b=%d\n",a,b); }程序运行结果是A)a=1,b=0B)a=2,b=2C)a=1,b=1D)a=2,b=1(21)下列程序输出结果是#include "stdio.h"main(){ int i,a=0,b=0;for(i=1;i<10;i++){ if(i%2==0){a++;continue;}b++;}printf("a=%d,b=%d",a,b); }A)a=4,b=4B)a=4,b=5C)a=5,b=4D)a=5,b=5(22)已知#int t=0;while (t=1){...}则以下叙述正确是A)循环控制表达式值为0B)循环控制表达式值为1C)循环控制表达式不合法D)以上说法都不对(23)下面程序输出结果是main(){ int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;printf("%d\n",*(p+2));}A)3B)4C)1D)2(24)以下错误定义语句是A)int x[][3]={{0},{1},{1,2,3}};B)int x[4][3]={{1,2,3},{1,2,3},{1,2,3},{1,2,3}};C)int x[4][]={{1,2,3},{1,2,3},{1,2,3},{1,2,3}};D)int x[][3]={1,2,3,4};(25)有以下程序void ss(char *s,char t){ while(*s){ if(*s==t)*s=t-′a′+′A′;s++; } }main(){ char str1[100]="abcddfefdbd",c=′d′;ss(str1,c); printf("%s\n",str1);}程序运行后输出结果是A)ABCDDEFEDBDB)abcDDfefDbDC)abcAAfefAbAD)Abcddfefdbd(26)有如下程序main(){ char ch[2][5]={"6937","8254"},*p[2];int i,j,s=0;for(i=0;i<2;i++)p[i]=ch[i];for(i=0;i<2;i++)for(j=0;p[i][j]>′\0′;j+=2)s=10*s+p[i][j]-′0′;printf("%d\n",s);}该程序输出结果是A)69825B)63825C)6385D)693825(27)有定义语句:char s[10];,若要从终端给s输入5个字符,错误输入语句是A)gets(&s[0]);B)scanf("%s",s+1);C)gets(s);D)scanf("%s",s[1]);(28)以下叙述中错误是A)在程序中凡是以"#"开始语句行都是预处理命令行B)预处理命令行最后不能以分号表示结束C)#define MAX 是合法宏定义命令行D)C程序对预处理命令行处理是在程序执行过程中进行(29)设有以下说明语句typedef struct{ int n;char ch[8];} PER;则下面叙述中正确是A)PER 是结构体变量名B)PER是结构体类型名C)typedef struct 是结构体类型D)struct 是结构体类型名(30)以下叙述中错误是A)gets函数用于从终端读入字符串B)getchar函数用于从磁盘文件读入字符C)fputs函数用于把字符串输出到文件D)fwrite函数用于以二进制形式输出数据到文件(31)以下能正确定义一维数组选项是A)int a[5]={0,1,2,3,4,5};B)char a[]={′0′,′1′,′2′,′3′,′4′,′5′,′\0′};C)char a={′A′,′B′,′C′};D)int a[5]="0123";(32)有以下程序#includemain(){ char p[]={′a′, ′b′, ′c′},q[10]={ ′a′, ′b′, ′c′}; printf("%d%d\n",strlen(p),strlen(q));}以下叙述中正确是A) 在给p和q数组置初值时,系统会自动添加字符串结束符,故输出长度都为3B) 由于p数组中没有字符串结束符,长度不能确定,但q数组中字符串长度为3C) 由于q数组中没有字符串结束符,长度不能确定,但p数组中字符串长度为3D) 由于p和q数组中都没有字符串结束符,故长度都不能确定(33)有以下程序#include#includevoid fun(char *s[],int n){ char *t; int i,j;for(i=0;ifor(j=i+1;jif(strlen(s[i])>strlen(s[j])) {t=s[i];s[i]:s[j];s[j]=t;} }main(){ char *ss[]={"bcc","bbcc","xy","aaaacc","aabcc"};fun(ss,5); printf("%s,%s\n",ss[0],ss[4]);}程序运行结果是A)xy,aaaaccB)aaaacc,xyC)bcc,aabccD)aabcc,bcc(34)有以下程序#includeint f(int x){ int y;if(x==0||x==1) return(3);y=x*x-f(x-2);return y;}main(){ int z;z=f(3); printf("%d\n",z);}程序运行结果是A)0B)9C)6D)8(35)下面程序段运行结果是char str[]="ABC",*p=str;printf("%d\n",*(p+3));A)67B)0C)字符′C′地址D)字符′C′(36)若有以下定义:struct link{ int data;struct link *next;} a,b,c,*p,*q;且变量a和b之间已有如下图所示链表结构:指针p指向变量a,q指向变量c。

最全的C语言笔试面试题汇总

最全的C语言笔试面试题汇总

最全的C语言试题总结C语言终极面试宝典_C语言面试必C语言第一部分:基本概念及其它问答题1、关键字static的作用是什么?这个简单的问题很少有人能回答完全。

在C语言中,关键字static有三个明显的作用:1). 在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变。

2). 在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数访问,但不能被模块外其它函数访问。

它是一个本地的全局变量。

3). 在模块内,一个被声明为静态的函数只可被这一模块内的其它函数调用。

那就是,这个函数被限制在声明它的模块的本地范围内使用。

大多数应试者能正确回答第一部分,一部分能正确回答第二部分,同是很少的人能懂得第三部分。

这是一个应试者的严重的缺点,因为他显然不懂得本地化数据和代码范围的好处和重要性。

2、―引用‖与指针的区别是什么?答、1) 引用必须被初始化,指针不必。

2) 引用初始化以后不能被改变,指针可以改变所指的对象。

3) 不存在指向空值的引用,但是存在指向空值的指针。

指针通过某个指针变量指向一个对象后,对它所指向的变量间接操作。

程序中使用指针,程序的可读性差;而引用本身就是目标变量的别名,对引用的操作就是对目标变量的操作。

流操作符<<和>>、赋值操作符=的返回值、拷贝构造函数的参数、赋值操作符=的参数、其它情况都推荐使用引用。

3、.h头文件中的ifndef/define/endif 的作用?答:防止该头文件被重复引用。

4、#include 与#include ―file.h‖的区别?答:前者是从Standard Library的路径寻找和引用file.h,而后者是从当前工作路径搜寻并引用file.h。

5、描述实时系统的基本特性答:在特定时间内完成特定的任务,实时性与可靠性。

6、全局变量和局部变量在内存中是否有区别?如果有,是什么区别?答:全局变量储存在静态数据区,局部变量在堆栈中。

C语言概述 笔试题及答案

C语言概述 笔试题及答案

第一章C语言概述笔试题【题1.1-1.5】 ACDCB【题1.6】函数【题1.7】主函数(或:main函数)【题1.8】【1】/* 【2】*/【题1.9】【1】scanf 【2】printf第三章数据类型、运算符与表达式【题3.1-3.43】 ACBAB CCADB BABCD CDACC AADDB ADADA ABCAA DDBCC DDC【题3.44】【1】1 【2】2【题3.45】【1】4 【2】8【题3.46】 -16【题3.47】 -32768 ~ 32767【题3.48】【1】单精度型(或:float)【2】双精度型(或:double)【题3.49】【1】整型【2】字符型【3】枚举类型【题3.50】 1【题3.51】 26【题3.52】【1】12 【2】4【题3.53】【1】6 【2】4 【3】2【题3.54】 -60【题3.55】 2【题3.56】【1】10 【2】6【题3.57】 5.500000【题3.58】 3.500000【题3.59】 1【题3.60】 1【题3.61】 0【题3.62】 9【题3.63】【1】字母【2】数字【3】下划线【题3.64】 f【题3.65】 X*(X*(X*(X*(X*(X*(5*X+3)-4)+2)+1)-6)+1)+10【题3.66】 8.000000【题3.67】 13.700000【题3.68】整型(或:int)【题3.69】双精度型(或:double)第四章最简单的C程序设计【题4.1-4.25】 DD(BC)DC DADA(BB) DDBDB DADAA BBBAD【题4.26】 i:dec=-4,oct=177774,hex=fffc,unsigned=65532【题4.27】 *3.140000,3.142*【题4.28】 c:dec=120,oct=170,hex=78,ASCII=x【题4.29】 *d(1)=-2*d(2)=-2*d(3)=-2**d(4)=177776*d(5)=177776*d(6)=177776*【题4.30】 *d(1)=-2*d(2)=-2*d(3)=-2**d(4)=fffe*d(5)=fffe*d(6)=fffe*【题4.31】 *d(1)=3.50000e+00*d(2)=3.500e+00*d(3)=3.500e+00**d(4)=-3.50000e+00*d(5)=-3.50000e+00*d(6)=-3.5000e+00* 【题4.32】 x=1 y=2 *sum*=310 Squared is: 100【题4.33】 (1) 10(2) □□□□10(□表示空格)(3) 56.100000(4) □□□□□□3.141600(5) 5.68100e+02(6) □□□3.14160e+00(7) 3.1416(8) □□□□□□3.1416【题4.34】 (1) 123.456000(2) □□□□□□□123.457(3) 123.4560(4) 8765.456700(5) □□□□□□8765.457(6) 8765.4567(7) 8765.4567【题4.35】【1】可以使同一输出语句中的输出宽度得以改变。

c语言笔试题目

c语言笔试题目

c语言笔试题目
以下是一些C语言笔试题目:
1. 什么是C语言?C语言有哪些特点?
2. C语言程序的基本结构是什么?
3. 什么是数据类型?C语言中有哪些常见的数据类型?
4. 什么是变量?变量在C语言中的作用是什么?
5. C语言中的运算符有哪些?它们的优先级和结合性是如何的?
6. 写出C语言中常用的控制结构,如if语句、for循环、while循环等。

7. 什么是函数?函数在C语言中的作用是什么?如何定义和调用函数?
8. 什么是数组?数组在C语言中的作用是什么?如何定义和初始化数组?
9. 什么是指针?指针在C语言中的作用是什么?如何定义和初始化指针?
10. 什么是结构体?结构体在C语言中的作用是什么?如何定义和初始化结构体?
11. C语言中如何进行文件操作,如文件的打开、读写和关闭等?
12. C语言中的内存管理是如何进行的?什么是动态内存分配和释放?
13. C语言中的位运算有哪些?它们的作用是什么?
14. C语言中的预处理器指令有哪些?它们的作用是什么?
15. C语言中的错误处理机制是如何的?如何进行错误处理?
以上是一些常见的C语言笔试题目,希望对你有所帮助。

c语言常见笔试题

c语言常见笔试题

C语言常见笔试题
以下是一些常见的C语言笔试题,这些题目涵盖了基本的语法、数据类型、流程控制等方面。

请注意,这只是一小部分可能出现在C 语言笔试中的题目,实际的笔试可能会根据岗位的不同涵盖更广泛的主题。

基本语法:
编写一个程序,输出"Hello,World!"。

变量与数据类型:
声明一个整数变量并初始化为10,输出该变量的值。

运算符:
编写一个程序,计算并输出两个整数的和、差、积、商和余数。

条件语句:
编写一个程序,输入一个整数,判断它是否是正数、负数还是零,并输出相应的提示信息。

循环结构:
使用循环结构输出1到10的所有偶数。

数组:
声明一个整数数组,存储5个成绩,并计算平均值。

字符串处理:
编写一个程序,输入一个字符串,然后输出字符串的长度。

函数:
编写一个函数,接受两个整数参数,返回它们的和。

指针:
声明一个整数变量,然后声明一个指向该变量的指针,并通过指针修改变量的值。

结构体:
声明一个表示学生的结构体,包括学生的姓名、学号和成绩,并输出这些信息。

文件操作:
编写一个程序,打开一个文件,读取文件中的内容并输出到屏幕上。

这些问题涵盖了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语言笔试题(答案)笔试题一、填空题(每个空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). 当变量c的值不为2、4、6时,值也为″真″的表达式是( )A.(c==2)||(c==4)||(c==6)B.(c>=2 && c<=6)&& !(c%2)C.(c>=2 && c<=6)&&(c%2!=1)D.(c>=2 && c<=6) || (c!=3) || (c!=5)正确答案:D答案解析:逻辑或运算中,只要有一项为真,表达式的值就为真,故选项D中c的值不为2、4、6时,那么表达式(c>=2 && c<=6)以及(c!=3)、(c!=5)必有一个成立,表达式的值也为真。

2). 在C语言中,函数返回值的类型最终取决于A.函数定义时在函数首部所说明的函数类型B.return语句中表达式值的类型C.调用函数时主调函数所传递的实参类型D.函数定义时形参的类型正确答案:A答案解析:在C语言中,应当在定义函数时指定函数值的类型,凡不加类型说明的函数,一律按整型处理。

在定义函数时,对函数值说明的类型一般应该和return语句中的表达式类型一致。

如果函数值的类型和return语句中的表达式类型不一致,则以函数类型为主,即函数类型决定返回值的类型。

3). C语言主要是借助以下哪种手段来实现程序模块化( )A.定义常量和外部变量B.使用丰富的数据类型C.使用三种基本结构语句D.定义函数正确答案:D答案解析:C语言用函数实现软件的模块化设计。

4). 以下叙述中正确的是( )A.只有全局变量才有自己的作用域,函数中的局部变量没有作用域B.只要是用户定义的标识符,都有一个有效的作用域C.只有在函数内部定义的变量才是局部变量D.局部变量不能被说明为static正确答案:B答案解析:在函数内定义的变量是局部变量,而在函数之外定义的变量称为外部变量,也是全局变量。

c语言考试笔试题及答案详解

c语言考试笔试题及答案详解

c语言考试笔试题及答案详解一、选择题(每题2分,共20分)1. C语言中用于定义一个结构体的关键字是:A. structB. unionC. enumD. typedef答案:A2. 下列关于C语言中数组的描述,错误的是:A. 数组必须在编译时确定大小B. 数组可以是多维的C. 数组的元素必须是同一类型D. 数组可以动态分配答案:D3. 在C语言中,哪个函数用于将字符串复制到另一个字符串?A. strcpyB. strcatC. strncpyD. strcmp答案:A4. 下列哪个选项不是C语言中的运算符?A. %B. &&C. ::D. ||答案:C5. C语言中,用于定义一个函数的关键字是:A. functionB. defC. voidD. int答案:C6. 下列哪个选项不是C语言中的控制语句?A. ifB. switchC. caseD. for答案:C7. 在C语言中,用于声明一个指针的语法是:A. int *p;B. int p*;C. int *p = 0;D. int *p = p;答案:A8. C语言中,用于定义一个枚举类型的关键字是:A. enumB. typedefC. unionD. struct答案:A9. 下列关于C语言中指针的描述,错误的是:A. 指针可以指向任何类型的数据B. 指针可以作为函数的参数C. 指针可以作为函数的返回值D. 指针可以存储函数的地址答案:D10. C语言中,用于定义一个联合体的关键字是:A. structB. unionC. enumD. typedef答案:B二、填空题(每题3分,共15分)1. 在C语言中,使用________关键字可以定义一个变量的存储类型为静态存储。

答案:static2. C语言中,使用________运算符可以计算两个整数的和。

答案:+3. 在C语言中,使用________关键字可以定义一个函数的返回类型为无返回值。

计算机二级《C语言》备考冲刺题及答案

计算机二级《C语言》备考冲刺题及答案

xx年计算机二级《C语言》备考冲刺题及答案程序通过定义学生构造体变量,存储了学生的学号、姓名和三门课的成绩。

所有学生数据均以二进制方式输出到文件中。

函数fun的功能是重写形参filename所指文件中最后一个学生的数据,即用新的学生数据覆盖该学生原来的数据,其他学生的数据不变。

请在程序的下画线处填人正确的内容并把下画线删除,使程序得出正确的结果。

注意:局部源程序在文件BLANKl.C中。

不得增行或删行,也不得更改程序的构造!以下给定程序中函数Creatlink的功能是:创立带头结点的单向链表,并为各结点数据域赋0到m-1的值。

请改正函数Creatlink中指定部位的错误,使它能得出正确的结果。

注意:局部源程序在文件MODll.C中,不要改动main函数,不得增行或删行,也不得更改程序的构造!试题程序:请编写函数fun,该函数的功能是:统计一行字符串中单词的个数,作为函数值返回。

字符串在主函数中输入,规定所有单词由小写字母组成,单词之间有假设干个空格隔开,一行的开始没有空格。

注意:局部源程序在文件PROGl.C中。

请勿改动main函数和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的假设干语句。

试题程序:【参考答案】(1)filename(2)fp(3)fp【解题思路】填空1:本空是对文本文件的翻开,filename所指的文件中的最后数据要进展重写,因此首先是要翻开,因而本空填写filename。

填空2:fseek功能是重定位流上的文件指针。

用法:int fseek(FILE*stream,long offset,int from.where);本空应该填写fp。

填空3:因为题目中要对所有学生数据均以二进制方式输出到文件中,因此本空填写fp。

知识点讲解:函数名:fseek功能:重定位流上的文件指针。

用法:int fseek(FILE*stream,longoffset.intfromwhere)。

c语言考前冲刺

c语言考前冲刺

c语⾔考前冲刺14.C语⾔的下列运算符中,优先级最⾼的运算符是(A)。

A.++B. +=C. ||D. !=课本P42优先级别从低到⾼为: +=、||、!=、++15.(D )为正确的⽤户标识符。

A.StructB. 5fC.D. _for合法⽤户标识符是有字母、数字、下划线构成,且不能以数字开头。

另外C语⾔关键字(课本P301)不能作为⽤户标识符。

A Struct 为关键字B 5f 数字开头C 含有⾮法字符.所以答案选D16.C语⾔基本数据类型包括(B)。

A.整型、实型、逻辑型B. 整型、实型、字符型C. 整型、字符型、逻辑型D. 整型、实型、字符串型课本P21实型即浮点型17.( A )为合法的常量。

A.52686LB. E-7C.D. 'E12'课本P22 常量A正确,52686L为长整型常量以指数形式aEn表⽰实数时,a和n都不能省略,且n必须是整数。

所以B和C都错D ⼀个字符加单引号是字符常量,1个字或多个字符加双引号是字符串常量,所以D错18.( C )为正确的变量名。

A.-k15B. IntC. k_5D.见15题解释19.(D)为正确的字符常量。

A.''\\''B. "\24m"C. "c"D. 'M'见17题解释A,C表⽰错误,应该加单引号表⽰字符常量。

B是字符串常量。

20.(C)为⾮法的字符串常量。

A." "B. "s"C. 'efg'D. "26'62"1个字或多个字符加双引号是字符串常量,空格字符也是⼀个字符21.C语⾔整型数据在内存中的代码是⽤(C)表⽰的。

A.原码B. 反码C. 补码D. BCD码22.以下选项中,合法的实型常数是(B)。

A.E-3B. .2E1C.D.以指数形式aEn表⽰实数时,a和n都不能省略,且n必须是整数23.下列C语⾔合法的数据类型关键字是( B )。

C语言常见笔试题大全

C语言常见笔试题大全

1. 用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题)#define SECONDS_PER_YEAR (60 * 60 * 24 * 365)UL /* UL表示unsigned logn */我在这想看到几件事情:1). #define 语法的基本知识(例如:不能以分号结束,括号的使用,等等)2). 懂得预处理器将为你计算常数表达式的值,因此,直接写出你是如何计算一年中有多少秒而不是计算出实际的值,是更清晰而没有代价的。

3). 意识到这个表达式将使一个16位机的整型数溢出-因此要用到长整型符号L,告诉编译器这个常数是的长整型数。

4). 如果你在你的表达式中用到UL(表示无符号长整型),那么你有了一个好的起点。

记住,第一印象很重要。

2. 写一个“标准”宏MIN,这个宏输入两个参数并返回较小的一个。

#define MIN(A,B) ((A) <= (B) (A) : (B))这个测试是为下面的目的而设的:1). 标识#define在宏中应用的基本知识。

这是很重要的,因为直到嵌入(inline)操作符变为标准C的一部分,宏是方便产生嵌入代码的唯一方法,对于嵌入式系统来说,为了能达到要求的性能,嵌入代码经常是必须的方法。

2). 三重条件操作符的知识。

这个操作符存在C语言中的原因是它使得编译器能产生比if-then-else更优化的代码,了解这个用法是很重要的。

3). 懂得在宏中小心地把参数用括号括起来4). 我也用这个问题开始讨论宏的副作用,例如:当你写下面的代码时会发生什么事?least = MIN(*p++, b);3. 预处理器标识#error的目的是什么?如果你不知道答案,请看参考文献1。

这问题对区分一个正常的伙计和一个书呆子是很有用的。

只有书呆子才会读C语言课本的附录去找出象这种问题的答案。

当然如果你不是在找一个书呆子,那么应试者最好希望自己不要知道答案。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
15
b 2
c 3
2.2 赋值运算符
黄建语录一:变量某一时刻只能保存 一个值。 int a = b = a = b = c = a, b, c; 1; 2; a + b; a + b; a + b; a b 5 2 c 8
3 1
16
2.3 算术运算符
减法
*
-
乘法 除法
加法
/
+
%
求余
乘法、除法和求余的运算 优先级高于加法和减法。
8
1.1 习题演练6-2
[2008.4.11]下列叙述中正确的是 A)C程序中的注释只能出现在程序的开始位臵 和语句的后面 B)C程序书写格式严格,要求一行内只能写一 个语句 C)C程序书写格式自由,一个语句可以写在多 行上 D)用C语言编写的程序只能放在一个程序文件 中
9
1.1 习题演练6-3
33
2.10 条件运算符2-2
填空实现以下功能:在a、b、c中找出中间的 那个数,放到变量t中。例如,当a = 3, b = 5, c = 4时,t为4。 a t = a>b ? (b>c ? b : (a>c ? c: ____)) : a b (a>c ? ____: (b>c ? c: ____));
3
等级考试内容考试内容笔试公基+C 选择 填空
1 2 3 1
上机
填空 改错 编程
2
3
4
二级C语言章节分布
1
C概述 运算符
5
循环结构 数组
9
指针 构造类型 位运算
文件
2
3 4
6
7 8
10
11 12
顺序结构
选择结构
函数
预处理
5
1 C概述 1.0 考纲要求
考纲要求
1.程序的构成,main函数和其他函数。
20
0
2.4 变量赋值
正确
int a = 3, b = 3, c = 3; int a, b, c; a = 3; b = 3; c = 3;
正确
正确
int a, b, c; a = b = c = 3; int a = b = c = 3;
错误
21
2.5 字符常量
'A' = 65
常见字符 的ASCII码
23
2.6 自增自减运算符
b = a++; 相当于: b = a; a++; 先取值,后自增
b = ++a;
相当于:
++a; b = a; 先自增,后取值
24
2.6 自增运算符
[2005.4.17]以下程序的运行结果是 int m = 12, n = 34; printf("%d%d", m++, ++n); 1235
'a' = 97
'0' = 48
' ' = 32
22
2.5 字符类型
整型和字符型通用。 [2007.4.27]字符'A'的ASCII码是65,字符'a'的 ASCII码是97,以下不能将变量c中大写字母转 换为对应小写字母的语句是 A)c = (c - 'A') % 26 + 'a' B)c = c + 32 C)c = c - 'A' + 'a' D)c = ('A' + c) % 26 - 'a'
[2008.4.6]char c = ' '; int a = 1, b; 执行b = !c && a以后,b的值为: 0
31
2.9 短路逻辑运算符2-2
[例]以下程序运行后d的值是 1 int a = 4, b = 5, c = 0, d; d = !a && !b || !c; 2 [例]以下程序运行后n的值是 a = b = c = d = m = n = 2; (m = a > b) && (n = c > d); [2005.4.21]以下程序的运行结果是 2,3,3,1 int i = 1, j = 2, k = 3, m; m = i++ == 1 && (++j == 3 || k++ == 3); printf("%d,%d,%d,%d", i, j, k, m);
2.头文件,数据说明,函数的开始和结束标志 以及程序中的注释。 3.源程序的书写格式。 4.C语言的风格。
6
编程流程
编辑
.c
编译
编译 Ctrl+F7 链接 F7 运行 Ctrl+F5
.obj
链接
.exe
运行
7
1.1 习题演练6-1
[2007.4.15]对于一个正常运行的C程序,以下叙 述中正确的是 A)程序的执行总是从main函数开始,在main函 数结束 B)程序的执行总是从程序的第一个函数开始, 在main函数结束 C)程序的执行总是从main函数开始,在程序最 后一个函数中结束 D)程序的执行总是从程序的第一个函数开始, 在程序的最后一个函数中结束
11
1.1 习题演练6-5
[2004.4.11]一个算法应该具有"确定性"等5个特 性,下面对另外4个特性的描述中错误的是 A)有零个或多个输入 B)有穷性 C)有零个或多个输出 D)可行性 [2006.4.45]以下叙述中错误的是 A)算法正确的程序最终一定会结束 B)算法正确的程序可以有零个输出 C)算法正确的程序可以有零个输入 D)算法正确的程序对于相同的输入一定有相 同的结果
18
2.3 算术运算符
[2005.9.19]以下不能正确计算代数式值的是 A)1/3*sin(1/2)*sin(1/2) B)sin(0.5)*sin(0.5)/3 C)pow(sin(0.5),2)/3 D)1/3.0*pow(sin(1.0/2),2)
[2004.4.17]若有:float a = 2, b = 4, h = 3;, 以下C语言表达式不能正确计算代数式的是 A)(a+b)*h/2 B)(1/2)*(a+b)*h C)(a+b)*h*1/2 D)h/2*(a+b)
语言考前冲刺
15641238800
mtysoft@
1
C语言程序设计
辽宁科技大学 黄建
v.c.6@
密码: 123.456
2
等级考试时间
☆二级考试包括笔试 和上机。只有一门合 格的,合格的一门下 次考试可以免考。 ☆笔试:每年两次, 3月和9月。2010年下 半年的笔试时间为: 9月18日。
27
3,1
2.8 逻辑运算符
真变假,假变真
非!
与 &&
全真才真 全假才假
或 ||
28
2.8 逻辑运算符2-1
[2005.4.9]设a = 10; b = 20; 则c的值是 c = (a % b < 1) || (a / b > 1); [2010.3.17]若a是数值类型,则逻辑表达式 (a==1) || (a!=1)的值是 1
232 [例]以下程序的运行结果是 int a = 0, b = 3, c; c = a++ ? ++b : ++a; printf("%d%d%d", a, b, c);
12
1.1 习题演练6-6
[2004.4.12]以下叙述中正确的是 A)C语言源程序不必通过编译就可以直接运行 B)C语言中的每条可执行语句最终都将被转换 成二进制的机器指令 C)C源程序经编译形成的二进制代码可以直接 运行 D)C语言中的函数不可以单独进行编译 [2008.9.12]计算机能直接执行的程序是 A)源程序 B)目标程序 C)汇编程序 D)可执行程序
[2004.9.17]以下程序的运行结果是 char a = 'a', b; print("%c,", ++a); printf("%c\n", b = a++);
[例]以下程序运行后,x的值是 int m = 3, n = 4, x; x = -m++; x = x + 8 / ++n;
25
b,b
-2
2.7 关系运算符
大于或等于 >= 小于或等于 <=
大于 >
关系 运算
小于 <
等于 ==
不等于 !=
26
2.7 关系运算符
[2007.4.21]当x为大于1的奇数时,值为0的是 A)x % 2 == 1 B)x / 2 C)x % 2 != 0 D)x % 2 == 0 [例]以下程序运行后,c和d的值分别是 int a = 3, b = 3, c, d; c = a = 3; d = b == 3; [例]以下程序的运行结果是 0,1 int a = 3, b = a > 3, c = a >= 3; printf("%d,%d", b, c);
0
[2009.9.8]设x = 20,则a和b的值是 1,0 a = 0 < x < 20; b = 0 < x && x < 20;
[2005.4.20]设c = 25,则a和b的值是 a = c / 10 % 9; b = a && (-1);
相关文档
最新文档