C基础试题

合集下载

C语言基础知识 试题 精选

C语言基础知识 试题 精选

C语言基础知识试题精选work Information Technology Company.2020YEARC语言基础知识题目精选[1] 下面叙述中正确的是__B__。

A.调用函数时的实参只能是有确定值的变量B.return( )语句中的括号中,可以是变量,常量或有确定值的表达式C.C语言中,函数调用时实参变量和形参变量间的参数传递方式都不是值传递D.实参和形参若类型不匹配,编译时将报错[2]下面叙述中错误的是__A__A.主函数中定义的变量在整个程序中都是有效的B.在其它函数中定义的变量在主函数中也不能使用C.形式参数也是局部变量D.复合语句中定义的函数只在该复合语句中有效[3]下列说法中正确的是__A__。

A.带参数的宏定义中的参数是没有类型的B.宏展开将占用程序的运行时间C.宏定义命令是C语言中的一种特殊语句D.使用#include命令包含的头文件必须以“.h"为后缀[4] 完成将文件指针fp重新指向文件的开头位置的函数是__D__。

A.feof(fp)B.ferror(fp)C.fseek(fp)D.rewind(fp)[5] 下面说法中错误的是_D___。

A.以二进制形式输出文件,则文件的内容与内存中完全一致B.定义:int a=123;若以ASCII文件的形式存放,变量a将在磁盘上占三个字节C.C语言中,没有输入输出语句,对文件的读写都是用库函数来实现的D.C语言的文件中,数据以记录为界线,便于区分[6]. C语言中,switch后的括号内表达式的值可以是__D__。

A.只能为整型B.只能为整型,字符型,枚举型C.只能为整型和字符型D.任何类型[7.] 若函数的形参为一维数组,则下列说法中正确的是_B___。

A.调用函数时的对应实参必为数组名B.形参数组可以不指定大小C.形参数组的元素个数必须等于实参数组的元素个数D.形参数组的元素个数必须多于实参数组的元素个数[8]. 系统的标准输出文件是_D___。

c语言基础试题及答案

c语言基础试题及答案

c语言基础试题及答案一、选择题1、在C语言中,引用数组元素时,其数组下标的数据类型允许是。

A、整型常量B、整型表达式C、整形常量或整形表达式D、任何类型的表达式2、以下对一维整型数组a的正确说明是____A、int a(10) ;B、int n=10,a[n];C、int n;scanf(“%d”,&n);int a[n];D、#define SIZE 10int a[SIZE];3、若有定义:int a[10],则对数组a元素的正确引用是A、a[10]B、a[3.5]C、a(5)D、a[10-10]4、以下能对一维数组a进行正确初始化的语句是。

A、int a[10]={0,0,0,0,0};B、int a[10]={} ;C、int a[ ] = {0} ;D、int a[10]={10*1} ;5、若有定义:int a[3][4],则对数组a元素的正确引用是________A、a[2][4]B、a[1,3]C、a(5)D、a[10-10]6、以下能对二维数组a进行正确初始化的语句是_______A、int a[2][]={{1,0,1},{5,2,3}} ;B、int a[][3]={{1,2,3},{4,5,6}} ;C、int a[2][4]={{1,2,3},{4,5},{6}} ;D、int a[][3]={{1,0,1},{},{1,1}} ;7、若有说明:int a[3][4]={0};则下面正确的叙述是_______A、只有元素a[0][0]可得到初值0B、此说明语句不正确C、数组a中各元素都可得到初值,但其值不一定为0D、数组a中每个元素均可得到初值08、下面是对s的初始化,其中不正确的`是_____A、char s[5]={“abc”};B、char s[5]={‘a’,’b’,’c’,’d’,’e’,’0’};C、char s[5]=””;D、char s[5]=”abcdef”;二、程序填空1、以下程序把一个由小到大的有序数列放在a[1]到a[n]中,a[0]用作工作单元,程序把读入的x值插入到a数组中,插入后,数组中的数仍然的序。

C语言 程序设计基础试题五及答案

C语言 程序设计基础试题五及答案

《程序设计基础》考试试卷五班级姓名学号____________1.以下叙述中正确的是( )A. C程序中注释部分可以出现在程序中任意合适的地方B. 花括号"{"和"}"只能作为函数体的定界符C. 构成C程序的基本单位是函数,所有函数名都可以由用户命名D. 分号是C语句之间的分隔符,不是语句的一部分2.在一个C语言程序中( )A. main函数必须出现在所有函数之前B. main函数可以在任何地方出现C. main函数必须出现在所有函数之后D. main函数必须出现在固定位置3.判断下面标识符中哪个是C语言中合法的用户定义标识符( )A. a-bB. #abdC. typedefD. _max4.为表示关系X≥Y≥Z,应使用C语言表达式( )A. (X≥Y)&&(Y≥Z)B. X>=Y>=ZC. (X>=Y)‖(Y>=Z)D. (X>=Y)&&(Y>=Z)5.设有一分段函数:x=1 a<b且c=dx=2 a>=b则下列程序段哪个是正确的( )A. if(a<b)B. if (a<b)C. if (a>b)D. if (a>=b)if(c= =d) {if (c= =d) if (c= =d) x=2;x=1; x=1; x=1; elseelse x=2; else x=2;} else x=2; {if(c= =d) x=1;}6.若有两条语句:static char x[]=”abcde”;static char y[]={…a‟,‟b‟,‟c‟,‟d‟,‟e‟};则下列说法中正确的是( )A. x数组和y数组长度相同B.x数组长度大于y数组长度C.x数组长度小于y数组长度D.以上三种说法均错误。

7.返回值为void的函数,其含义是( )A.调用函数之后,被调用的函数没有返回值;B.调用函数之后,被调用的函数不返回C.调用函数之后,被调用的函数返回值为任意类型D.以上三种说法均不正确。

c基础考试题及答案

c基础考试题及答案

c基础考试题及答案1. 以下哪个选项是C语言中合法的变量名?A. 2variableB. variable-nameC. variable$nameD. variable_name答案:D2. 在C语言中,哪个关键字用于声明一个函数?A. defineB. functionC. voidD. int答案:C3. C语言中,用于定义一个整型变量的关键字是什么?A. intB. integerC. numberD. long答案:A4. 在C语言中,哪个运算符用于计算两个数的和?A. +B. -D. /答案:A5. 若有以下C语言代码段:```cint a = 10;int b = 20;int c = a + b;```则变量c的值是多少?A. 10B. 20C. 30D. 40答案:C6. C语言中,哪个函数用于计算并返回一个字符串的长度?A. strlen()B. length()C. size()D. length_str()答案:A7. 在C语言中,以下哪个选项不是控制语句?A. ifB. switchC. while答案:B8. 在C语言中,以下哪个选项是正确的数组声明?A. int numbers[];B. int numbers[10];C. int numbers[10] = {1, 2, 3};D. All of the above答案:D9. C语言中,哪个函数用于将字符串复制到另一个字符串?A. strcpy()B. copystr()C. str_copy()D. string_copy()答案:A10. 若有以下C语言代码段:```cchar str[] = "Hello, World!";printf("%c", str[0]);```则输出结果是什么?A. HB. eC. lD. !答案:A。

C语言试题和答案大全

C语言试题和答案大全

模块1 C语言基础知识1. 选择题(1)C语言中运算对象必须是整型的运算符是(B )。

A. %=B. /C. =D. <=(2)以下所列的C语言常数中,错误的是(B )。

A. 0xFFB. 1.2E0.5C. 2LD. -.67(3)以下选项中能作为用户标识符的是( C )。

A. voidB. 7_9C. _3_D. Dr.Tom(4)以下所列的C语言字符常量中,合法的是( B )。

A. ”B”B. ’\n’C. ’中国’D. d(5)以下选项中正确的定义语句是( D )。

A. int a:b;B. int ,a,b;C. int a+b=6;D. int a=6,b;(6)以下关于long、int、short型数据占用内存大小的叙述中正确的是( D )。

A. 均占4个字节B. 根据数据的大小来决定所占内存的字节数C. 由用户自己定义D. 由C语言编译系统决定(7)若有定义语句:int x=10;,则表达式x-=x+x的值为( B )。

A. -20B. -10C. 0D. 10(8)表达式((a=3*5,a+4),a+5)的值是( A )。

A. 20B. 29C. 60D. 90(9)若有定义语句:int a=3,b=4,c=5;,则以下表达式中值为0的是( D )。

A. a&&bB. a<=bC. a||b+c&&b-cD. !((a<b)&&c||1)(10)设有以下定义:int i;char c;float f;,以下结果为整型的表达式是( B )。

A. i+fB. i*cC. c+fD. i+c+f2. 填空题(1)设有int n=12;,则表达式(n++*1/3)的值是 4 。

(2)定义以下变量:char c;int x;float y;double z;,则表达式c*x+y-z,所求得的数据类型为double 。

(3)设变量a和b已正确赋初值,请写出a/=a+b等价的赋值表达式a=a/(a+b) 。

C语言 程序设计基础试题一及答案

C语言 程序设计基础试题一及答案

《程序设计基础》考试试卷一班级姓名学号____________一、选择题(20分)1.算法具有五个特性,以下选项中不属于算法特性的是(A)有穷性(B)简洁性(C)可行性(D)确定性2.以下选项中可作为C语言合法常量的是(A)-80. (B)-080 (C) (D)3.以下叙述中正确的是(A)用C语言实现的算法必须要有输入和输出操作(B)用C语言实现的算法可以没有输出但必须要有输入(C)用C程序实现的算法可以没有输入但必须要有输出(D)用C程序实现的算法可以既没有输入也没有输出4.以下不能定义为用户标识符是(A)Main (B) _0 (C) _int (D) sizeof5.以下选项中,不能作为合法常量的是(A) (B) (C)+4 (D)6.数字字符0的ASCII值为48,若有以下程序main(){char a='1',b='2';printf("%c,",b++);printf("%d\n",b-a);} 程序运行后的输出结果是(A)3,2 (B)50,2 (C)2,2 (D)2,507.有以下程序main(){int m=12,n=34;printf("%d%d",m++,++n); printf("%d%d\n",n++,++m);}程序运行后的输出结果是(A) (B) (C) (D)8.有以下语句:int b;char c[10];,则正确的输入语句是A)scanf("%d%s",&b,&c); B) scanf("%d%s",&b,c);(C)scanf("%d%s",b,c); D)scanf("%d%s",b,&c);9.有以下程序main(){int m,n,p;scanf("m=%dn=%dp=%d",&m,&n,&p);printf("%d%d%d\n",m,n,p); } 若想从键盘上输入数据,使变量M中的值为123,N中的值为456,P中的值为789,则正确的输入是A)m=123n=456p=789 B)m=123 n=456 p=789 C)m=123,n=456,p=789 D)123 456 78910.有以下程序main(){int a,b,d=25;a=d/10%9;b=a&&(-1);printf("%d,%d\n",a,b); }程序运行后的输出结果是A)6,1 B)2,1 C)6,0 D)2,011.有以下程序main(){int i=1,j=2,k=3;if(i++==1&&(++j==3||k++==3))printf("%d %d %d\n",i,j,k);}程序运行后的输出结果是(A)1 2 3 (B)2 3 4 (C)2 2 3 (D)2 3 312.若整型变量a、b、c、d中的值依次为:1、4、3、2。

C语言基础知识测试题-全面完整

C语言基础知识测试题-全面完整

基础知识测试题一.单项选择题1.以下不正确的C语言标识符是(D )A. ABCB. abcC. a_bcD. ab.c2.以下正确的C语言标识符是( C)A. %xB. a+bC. a123D. test!3.一个C语言程序的执行是从(A )。

A. main( )函数开始,直到main( )函数结束B. 第一个函数开始,直到最后一个函数结束C. 第一个语句开始,直到最后一个语句结束D. main( )函数开始,直到最后一函数结束4.在C语言程序中,main(C )的位置()。

A. 必须作为第一个函数B.必须作为最后一个函数C.任意D.必须放在它所调用的函数之后5.一个C语言程序是由(B )。

A. 一个主程序和若干个子程序组成B.一个或多个函数组成C.若干过程组成D.若干子程序组成6.C语言源程序的基本单位是(B)。

A. 过程B. 函数C. 子程序D. 标识符7.编辑程序的功能是(A)。

A. 建立并修改程序C.将C源程序编译成目标程序D.调试程序E.命令计算机执行指定的操作8.C编译程序是(D)。

A. C语言程序的机器语言版本B. 一组机器语言指.D. 将C源程序编译成目标程序的程序F. 由制造厂家提供的一套应用软件B9.不属于字符型常量的是( D )A.'A'B."B"C.'\n'D.'\x72'10 .设char ch; 以下正确的赋值语句是:(B )A.ch='123';B.ch='\xff';C.ch='\08';D.ch="\";11 .以下使i的运算结果为4的表达式是(D )A.int i=0,j=0;(i=3,(j++)+i);B.int i=1,j=0;j=i=((i=3)*2);C.int i=0,j=1;(j==1)?(i=1):(i=3);D.int i=1,j=1;i+=j+=2;A12 .若t为double类型,表达式t=1,t+5,t++的值是(D)A.1B.6.0 CC13.设整型变量m,n,a,b,c,d均为1,执行“(m=a>b)&&(n=a>b)”后m,n的值是( B)A.0,0B.0,1C.1,0D.1,1B14 .执行语句“x=(a=3,b=a--)”后,x,a,b的值依次为(CA.3,3,2B.3,2,2C.3,2,3D.2,3,2B15 .若a=1,b=2,c=3,d=4,则条件表达式a<b?a:a<d?c:d的值为(A )A.1B.2C.3D.416 .设int n=7;则++n+1= =9的结果是(C )A.trueB.falseC.1D.017 .设a=2,b=2;则++a+b的结果是(d),a的结果是(b),b的结果是(a)A.2B.3C.4D.518 .设a=2,则执行b=a==!a;语句后,b的结果是( A)A.0B.1C.2D.319 .设有以下语句,则c的二进制值是()char a=3,b=6,c;c=a^b<<2;A.00011011B.00010100C.00011100D.0001100020 .在C语言类型说明中,int、char、short等类型的长度是( A )A.固定的B.由用户自己定义的C.任意的D.与机器字的长度有关的二.填空题1.C语言中的标识符只能由三种字符组成,它们是、、。

c语言程序设计试题及答案

c语言程序设计试题及答案

c语言程序设计试题及答案第一章基础知识一、填空1.每个C程序都必须有且仅有一个________函数。

2.C语言程序开发到执行通常要经过6个阶段即编辑、预处理、________、链接、加载和执行。

3.软件是程序,以及______、使用和维护所需要的所有文档。

4.国标中规定:“计算机程序是按照具体要求产生的适合于计算机处理的_________”。

5.程序设计语言按照书写形式,以及思维方式的不同一般分为低级语言和________两大类6.C语言是由________组成的。

7.C语言的函数可分为主函数main、标准库函数和_________。

8.一个函数是由两部分组成的,即:________和函数体。

9.编译是将C语言所编写的源程序________成机器代码,也称为建立目标代码程序的过程。

10.程序是由某种程序设计语言编制出来,体现了编程者的控制思想和对计算机执行操作的要求。

不同的任务功能,就会需求不同的软件程序,如:控制计算机本身软硬件协调工作,并使其设备充分发挥效力,方便用户使用的系统软件程序,称为操作系统;而为办公自动化(OA)、信息系统(MIS)、人工智能、电子商务、网络互联等等应用而开发的软件程序,统称为_________。

11.机器语言是以__________形式表示的机器基本指令的集合,是计算机系统唯一不需要翻译可以直接识别和执行的程序设计语言。

12.与机器语言相比,使用汇编语言来编写程序可以用_______来表示指令的操作码和操作对象,也可以用标号和符号来代替地址、常量和变量。

13.在编译程序之前,凡以____开头的代码行都先由预处理程序预处理。

14.C程序的执行均是由执行_________开始。

15.函数体即为包含在{}内的部分。

它分为________和为完成功能任务由若干个C语句组成的执行部分。

16.C语言程序中一条简单语句是以________字符作为结束符的。

17.C语言是结构化、________的程序设计语言。

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

-选择题:(1). C语言中:1&1 =?; 1|1=? ; ; 1<<1 =?; !1=? ( A) 1|1 0000 0001 || 0000 0001 =10000 0001 0000 0010 =2A:1,1,2,0;B:1,0,2,0;C:1,1,1,1;D:1,1,1,0;(2). 运行如下程序:int i=0;printf(“%d,%d,%d,%d;”,i++;i++;i++;i++)结果是:(D )A:1,2,3,4;B:4,3,2,1;C:0,1,2,3;D:3,2,1,0;//参数:初始化参数的顺序从右往左//++ 先运算在做自增(3). 对于:int a,b;float c;scanf(“%d,%d,%f”,&a,&b,&c);printf(“%d,%d,%f”,&a,&b,&c);以下输入那个能正常输出(C );A:1 2 1.1B:1 2 1C:1,2,1.1D:1,2,1.123441 // 有效的小数位(4). int a = 1, b = 0, c = 2;(a > b ? a : b > c?a > b ? a : b : c) 的值是:(A)//三目运算符只是一个运算符不能代表作用//a>b :1>0 成立我取 aA:1B:0C:2D:以上都不是(5). 当a=1,b=0,以下不能输出yes的是:( D) A:if (a) printf(“yes”)B:if(b-a) printf(“yes”)C:if(a+b)printf(“yes”)D:if(b)printf(“yes”)(6). 以下程序结果是:(A)for(int i=0;i<1;i++)for(int j=0;j<2;j++)printf(“1”);printf(“2”);A:112B:1212C:12D:2(7).对于二维数组初始化错误的是:(A)//只有在声明过程中给定义int p[]={1,2,3,4};A:int b[3][4];b[3][4] = { { 1, 2, 3, 4 }, { 5, 6, 7, 8 }, { 9, 10, 11, 12 } }; B:int b[3][4] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 };C:int c[3][4] = { { 1 }, { 9 } };D:int b[3][4] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 }; (8). 对于缺省长度的数组初始化错误的是:(C)A:int a[]={1};B:int b[][4] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 };//缺省:右边不能缺省C:int c[3][] = { { 1 }, { 9 } };D:int b[]= { NULL};(9). 以下不能输出char c[]={"china"};的是:(C)A:puts(c)B:printf("%s",c);C:printf("%s",c[]);//%s对应的字符串的首地址从首地址打印到\0结束D:printf(“%s”,c+0);//sizeof 统计占用内存strlen:统计字符串可见长度(10). 对于char c[8]={"china"};printf("%d",strlen(str));结果是:(C)A:8B:9C:5D:6(11). 阅读一下程序:输出结果是(C)//静态变量只能被初始化一次int main(){ void increment(void);increment();increment();return 0;}void increment(void){ static int x=0;x++;printf(“%d\n”,x);}A:1 1 1B:0 0 0C:1 2 3D:出现乱码(12). 对于:int* i_pointer=&i以下说法错误的是:(D)A:i = *i_pointerB:*(i_pointer) = *(&i)C:&i = &(*i_pointer)//指针的类型去掉变量名D:指针的类型是int(13). 以下指针初始化错误的是:(B)A:int i;//牵强,钻牛角尖B:int i;static int *p=&i;C:int i;int *p=&i;int *q=p;D:int * p=0;(14). 关于指针的运算,错误的是:(D)A:p+i等价于p +i*d (i为整型数,d为p指向的变量所占字节数)B:p++, p--, p+i, p-i, p+=i, p-=i都有意义C:若p1与p2指向同一数组,p1-p2=两指针间元素个数等价于:(p1-p2)/dD:p1+p2 有意义(15). int a[]={1,2,3,4,5,6,7,8,9,10},*p=a,i;对于数组元素地址正确的是(D)//一维数组名:表示的是数组的首地址//也表示第一个元素地址//也可以表示指针A:&(a+1) //a+1 地址&地址地址的地址B:a++ //地址常量C:&pD:&p[i](16). 对于一级指针变量(int *p)与一维数组(int q[10])的关系说法错误的是(D)A:数组名是指针(地址)常量B:p=q; p+i 是q[i]的地址C:数组元素的表示方法:下标法和指针法,即若p=q, 则p[i] 等效于q[i]等效于*(p+i) 等效于*(q+i)D:在定义指针变量(不是形参)时,可以把int *p 写成int p[](17). 对于二维数组int a[3][4],说法错误的是:(B)//二维数组:动态申请#define_CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<malloc.h>int main(){//为二级指针申请内存存放三个一级指针int **p = (int **)malloc(sizeof(int *)*3);//为三个一级指针申请内存去存放三个整数for (int i = 0; i < 3; i++){p[i] = (int *)malloc(sizeof(int)* 3);}return 0;}A:a-----二维数组的首地址,即第0行的首地址B:a+i-----a[i]的地址C:a[i] *(a+i)------第i行第0列的元素地址D:*(a[i]+j) 等价于*(*(a+i)+j) 等价于a[i][j] 第i行第j列的元素(18). 对于二维数组int a[3][4]一下指针是行指针的是:(D)//列指针:能够指向具体元素//行指针:地址运算A:&a[1][0]B:a[1]C:*(a+1)D:a+1(19). 对于二维数组int a[5][10]与数组指针变量int(*p)[10]关系说法错误的是:(C)A:维数组名是一个指向有10个元素的一维数组的指针常量B:p=a+i 使p指向二维数组的第i行C:变量定义(不是形参)时两者等价D:二维数组形参实际上是一维数组指针变量,int x[ ][10] 等价于int (*x)[10](20). 对于字符串数组一下说法错误的是(A)A:char str[20]; str=“I love China!”;B:char str[10]; scanf(“%s”,str);C:char *cp,str[10];cp=str;scanf(“%s”,cp);D:char *cp,cp再接受键入字符串时,必须先开辟存储空间(21). 对于指针类型一下说法错误的是(F)A:int *p[n];n个指向整型数据的指针变量组成的指针数组p B:int (*p)[n];p为指向含n个元素的一维整型数组的指针变量C:int *p();p为返回指针的函数,该指针指向一个整型数据D:int (*p)();p为指向函数的指针变量,该函数返回整型数E:int *p;p为指向整型数据的指针变量//指针的类型:去掉变量名F:int *p; p的类型是int(22). 对于下列定义错误的是:(g)A:int *p[3]; 指针数组B:int (*p)[3];指向一维数组的指针C:int *p(int);返回指针的函数D:int (*p)(int);指向函数的指针,函数返回int型变量E:int *(*p)(int);指向函数的指针,函数返回int *类型指针F:int (*p[3])(int);函数指针数组,函数返回int型变量G:int *(*p[3])(int);函数指针数组,函数返回int型指针(23).以下定义结构体变量错误的是:(D)A:struct student{int num;}stu1,stu2;B:struct{int num;}stu1,stu2;C:struct student{int num;};struct student stu1,stu2;D:struct student{int num;};student stu1,stu2;程序设计:1.随机用0-9 给二维数组Array[3][3]初始化,不能出现重复的。

2.无头链表。

相关文档
最新文档