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语言是结构化、________的程序设计语言。

c语言试题及答案大全

c语言试题及答案大全

c语言试题及答案大全一、选择题1. 下列关于C语言的说法中,正确的是:A. C语言是一种高级编程语言。

B. C语言可以被编译成机器语言执行。

C. C语言的语法和C++完全相同。

D. C语言不支持面向对象的编程。

答案:B. C语言可以被编译成机器语言执行。

2. C语言中,以下哪个是合法的标识符?A. 123abcB. abc_123C. intD. function()答案:B. abc_1233. 在C语言中,以下哪种循环结构是先判断条件后执行循环体?A. for循环B. while循环C. do-while循环D. switch语句答案:C. do-while循环二、编程题1. 编写一个C程序,计算并输出1到n之间所有整数的和。

其中,n由用户输入。

答案:#include <stdio.h>int main() {int n;int sum = 0;printf("请输入一个整数n:");scanf("%d", &n);for (int i = 1; i <= n; i++) {sum += i;}printf("1到%d之间所有整数的和为%d\n", n, sum);return 0;}2. 编写一个C程序,判断一个整数是否为素数。

素数是指除了1和自身外,无法被其他整数整除的整数。

答案:#include <stdio.h>#include <stdbool.h>bool is_prime(int num) {if (num <= 1) {return false;}for (int i = 2; i * i <= num; i++) {if (num % i == 0) {return false;}}return true;}int main() {int num;printf("请输入一个整数:");scanf("%d", &num);if (is_prime(num)) {printf("%d是素数\n", num);} else {printf("%d不是素数\n", num);}return 0;}三、应用题1. 假设有一个班级的学生信息如下:学号姓名年龄性别101 张三 18 男102 李四 17 女103 王五 16 男请根据上述学生信息,编写一个C程序,输出学生的平均年龄。

C语言试卷(含答案)

C语言试卷(含答案)

C语言试卷(含答案)一、单项选择题(每小题2分,共40分)1、sizeof(float)是()A. 一个双精度型表达式B. 一个整型表达式C. 一种函数调用D. 一个不合法的表达式2、设i是int型变量,f是float型变量,用下面的语句给这两个变量输入值: scanf("i=%d,f=%f",&i,&f);为了把100和分别赋给i和f,则正确的输入为()。

A. 100B. i=100,f=765.12C. 100<回车>D. x=100y=3、#include<>voidmain(){inta=3,b=2,c=1;intx=10,y=20;if(a<b)< p="">if(b!=0)if(!x)y=1;elseif(x)y=0;y=-1;printf("%d",y);}上面的C程序的输出结果是()。

A. 20B. 1C. 0D. -14、C语言中,while和do…while循环的主要区别是()。

A. do…while的循环体至少无条件执行一次B. while的循环控制条件比do…while的循环控制条件严格C. do…while允许从外部转到循环体内D. do…while的循环体不能是复合语句5、执行下面的C程序段后,输出结果是()。

inta=5; while(a--);printf("%d",a);A. 54321B. 4321C. 0D. -16、在C语言中,()是在所有函数外部声明的。

A. 全局变量B. 局部变量C. 形参D.实参7、分析下面的C程序:#include<>voidmain(){intnum=0;while(num<=2){num++;printf("%d",num);}}输出结果是()。

A. 123B. 012C. 23D. 128、下面的C语言代码段的输出结果是()。

C语言程序设计试题第十套-试卷

C语言程序设计试题第十套-试卷

“程序设计基础--C”试卷试题一、单项选择题(每小题 2 分,共20 分)1.C 语言程序的三种基本结构是顺序结构、选择结构和______结构。

A、循环B、递归C、转移D、嵌套2.若x是单精度实型变量,表达式(x = 10/4) 的值是_____ 。

A、2.5B、2.0C、3D、 23. 表达式!x 等价于_____。

A、x==0B、x==1C、x != 0D、x != 14.若变量已正确定义且k 的值是4,计算表达式( j = k--) 后,_____。

A、j=3, k=3B、j=3, k=4C、j=4, k=4D、j=4, k=35. 算术运算符、赋值运算符和关系运算符的运算优先级按从高到低的顺序依次为_____。

A、算术运算、赋值运算、关系运算B、关系运算、赋值运算、算术运算C、算术运算、关系运算、赋值运算D、关系运算、算术运算、赋值运算6.C语言中,形参的缺省的存储类说明是______。

A、autoB、staticC、registerD、extern7.下列语句定义pf为指向float类型变量f的指针,_____是正确的。

A、float f, *pf = f;B、float f, *pf = &f;C、float *pf = &f, f;D、float f, pf = f; 8.表达式sizeof(“key”) 的值是______。

A、1B、2C、3D、49.将程序prog.c编译后运行:prog –nla hello world 则*(*(argv+2)) 是______。

A、’p’B、‘-‘C、‘h’D、‘w’10.若a是整型变量,表达式~(a ^ ~a ) 等价于______。

A、~aB、1C、0D、2试题二、填空题(每小题 3 分,共24 分)1.写出语句printf ("%d, %o, %x", 0x12, 12, 012); 的输出结果。

2.写出下列程序段的输出结果。

C语言试试题库(完整版)

C语言试试题库(完整版)

C语言试题库一、单项选择第一章C语言概述(1)一个C程序的执行是从A、本程序的MAIN函数开始,到MAIN 函数结束。

B、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束。

C、本程序的MAIN函数开始,到本程序的最后一个函数结束。

D、本程序文件的第一个函数开始,到本程序的MAIN函数结束。

(2)以下叙述正确的是A、在C程序中,MAIN函数必须位于程序的最前面。

B、C程序的每行中只能写一条语句。

C、C语言本身没有输入输出语句。

D、在对一个C程序进行编译的过程中,可发现注释中的拼写错误。

(3)C语言规定,在一个源程序中,MAIN主函数的位置是在:A、必须在最前面。

B、必须在系统调用的库函数的后面C、可以在任意位置。

D、必须在最后面(4)一个C程序是由:A、一个主程序和若干子程序组成B、函数组成C、若干过程组成D、若干子程序组成(5)以下叙述不正确的是:A、一个C源程序可由一个或多个函数组成B、一个C源程序必须包含一个MAIN函数C、C程序的基本组成单位是函数D、在C程序中,注释说明只能位于一条语句的后面第二章数据类型、运算符与表达式(1)若x, i, j, k都是int型变量,则计算下面表达式后,x的值为x=(i=4, j=16, k=32)A、4B、16C、32D、52(2)下列四组选项中,均不是C语言键字的选项是A、define , IF, typeB、getc, char, printfC、include, scanf, caseE、if, struct, type(3)下面四个选项中,均是不合法的用户标识符的选项是A、A,P_0,doB、float,1a0, _AC、b-a, goto, intD、_123, temp, INT(4)若有代数式3ae/bc,则正确的C语言表达式是A、a/b/c*e*3B、3*a*e/bcC、3*a*e/b*cD、a*e/c/b*3(5)已知各变量的类型说明如下:int k, a, b;unsinged long w=5;double x=1.42;则以下不符合C语言语法的表达式是A、x%(-3)B、w+=-2;C、k=(a=2,b=3,a+b)D、a+=a-=(b=4)*(a=3)第三章简单C程序设计(1)putchar函数可以向终端输出一个A、整型变量表达式值B、实型变量值C、字符串D、字符或字符型变量值(2)若x,y均定义为int型,z定义为double 型,以下合法的scanf函数调用语句是A、scanf(“%d%lx,%le”,&x,&y,&z);B、scanf(“%2d*%d%lf”,&x,&y,&z);C、scanf(“%x%*d%o”,&x,&y,&z);D、scanf(“%x%o%6.2f”,&x,&y,&z);(3)当输入数据的形式为:25,13,10<回车>时,以下程序的输出结果为main(){int x,y,z;scanf(“%d%d%d”,&x,&y,&z);printf(“x+y+z=%d\n”,x+y+z);}A、x+y+z=48B、x+y+z=35C、x+z=35D、不确定值(4)以下能正确的定义整型变量a,b和c,并对它们赋初值为5的语句是A、int a=b=c=5;B、int a, b, c=5;C、a=5, b=5, c=5;D、a=b=c=5;(5)若有以下定义,则正确的赋值语句是int a,b; float x;A、a=1, b=2;B、b++;C、a=b=5;D、b=int(x);第四章选择结构程序设计(1)能正确表示“当x的值在[1,10]和[200,210]的范围为真,否则为假”的表达式是A、(x>=1)&&(x<=10)&&(x.>=200)&&(x<=210)B、(x>=1)││(x<=10) ││(x.>=200) ││(x<=210)C、(x>=1) &&(x<=10) ││(x.>=200) &&(x<=210)D、(x>=1)││(x<=10)&& (x.>=200) ││(x<=210)(2)以下程序的运行结果是#include “stdio.h”main(){int a,b,d=241;a=d/100%9;b=(-1)&&(-1);printf(“%d,%d”,a,b);}A、6,1B、2,1C、6,0D、2,0(3)请阅读以下程序:main(){int a=5 , b=0 , c=0;if (a+b+c) printf(“* * *\n”);else printf(“$ $ $\n”);}以上程序。

计算机C语言基础提高试题(附答案)

计算机C语言基础提高试题(附答案)

计算机基础提高资料:C语言篇一、基础知识专项练习1、以下标识符中,不能作为合法的C用户定义标识符的是()。

(点击查看答案>>>>>>>>)A、a3_b3B、voidC、_123D、IF难度:★2、在C语言中,引用数组元素时,其数组下标的数据类型允许是()。

(点击查看答案>>>>>>>>)A、整型常量B、整型表达式C、整型常量或整型表达式D、任何类型的表达式难度:★3、枚举类型中的每个枚举常量的值都是一个()。

(点击查看答案>>>>>>>>)A、整数B、浮点数C、字符D、记录难度:★4、下列关于C语言的自增和自减运算符的使用中,正确的是()。

(点击查看答案>>>>>>>>)A、15++B、(x+y)--C、++(a-b)D、s+++t+++u++难度:★★5、设int x[]={1,2,3,4,5,6},*p=x; 则值为3 的表达式是( )(点击查看答案>>>>>>>>)A、p+=2,*++p;B、p+=2,*p++C、p+=3,*pD、p+=2,++*p难度:★★6、下面函数的功能是()(点击查看答案>>>>>>>>)A、计算字符串的位(bit)数B、复制一个字符串C、求字符串的长度D、求字符串存放的位置难度:★★7、下面程序的输出是什么()(点击查看答案>>>>>>>>)A、2 1B、2 5C、1 2D、5 2难度:★★★8、能把函数处理结果的二个数据返回给主调函数,在下面的方法中不正确的是()(点击查看答案>>>>>>>>)A、return这二个数B、形参用数组C、形参用二个指针D、用二个全局变量难度:★★★9、若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为( )。

C语言编程基础考试试题

C语言编程基础考试试题

C语言编程基础考试[考前说明]本题目中不考虑头文件引用问题(假定已经包含正确的头文件),C语言的标准函数都可用;如果不特别说明,假定程序运行环境为:操作系统Windows 2000, VC6.0编译环境,缺省为四字节对齐,X86(80586)CPU处理器(32位小字节序处理器).一、单选题1、给出以下定义:char acX[ ]= "abcdefg";char acY[ ]= {'a','b','c','d','e','f','g'};则正确的叙述为( )A) 数组acX和数组acY等价 B) 数组acX和数组acY的长度相同C) 数组acX的长度大于数组acY的长度 D) 数组acX的长度小于数组Y的长度2、void example(char acHello[]){printf("%d", sizeof(acHello));return;}void main(){char acHello[] = "hello";example(acHello);return;}的输出是( )A 4B 5C 6 D不确定3、以下叙述中不正确的是( )A) 在不同的函数中可以使用相同名字的变量B) 函数中的形式参数是在栈中保存C) 在一个函数内定义的变量只在本函数范围内有效D) 在一个函数内的复合语句中定义的变量在本函数范围内有效(复合语句指函数中的成对括号构成的代码)4、设有如下定义:unsigned long pulArray[] = {6, 7, 8, 9, 10};unsigned long *pulPtr;则下列程序段的输出结果为( )pulPtr = pulArray;*(pulPtr + 2) += 2;printf ("%d,%d\n", *pulPtr, *(pulPtr + 2));A)8,10 B)6,8 C)7,9 D)6,105、有以下程序段char acArr[]= "ABCDE";char *pcPtr;for(pcPtr = acArr; pcPtr < acArr + 5; pcPtr++){printf("%s\n", pcPtr);}return;输出结果是( )A) ABCD B) A C) E D) ABCDEB D BCDEC C CDED B DEE A E6、void example( ){int i;char acNew[20];for(i = 0; i < 10; i++){acNew[i] = '0';}printf("%d\n", strlen(acNew));return;}的输出为( D )A 0B 10C 11 D不确定7、switch(c)中的c的数据类型可以是char、long、float、unsigned、bool. ( )A. 正确B. 错误8、全局变量可以定义在被多个.C文件包含着的头文件中。

C语言考试试题基础版

C语言考试试题基础版

一、选择题1. 在每个C 程序中都必须包含有这样一个函数,该函数的函数名为 。

A 。

mainB 。

MAIN C. name D 。

function2. 在以下关于C 语言的注释的叙述中,不正确的是 。

A .注释可用”/*”、"*/”形式表示,也可用"//”形式表示B .编译器在编译一个程序时,将跳过注释,不对其进行处理C .编译器在编译一个程序时,可发现注释中的单词拼写错误D .程序中注释的多少不会影响所生成的可执行文件的长度3. 以下叙述不正确的是 。

A .在C 程序中,严格区分大小写字母B .一个C 源程序有且仅有一个main 函数C .在C 程序中,注释只能位于一条语句的后面D .一个C 程序总是从main 函数开始执行4. 下列合法的标识符为A. abde+ B 。

#KDJF C. 67KDJ D. DK3_5. 关于字符串和字符的关系正确的是A. “A"与'A ’是相同的B. 字符串是常量,字符是变量C. “A ”与’A ’是不同的D. “A ”与“A"是相同的6. 下面关于语句的说法正确的是A. 下面这两段程序的执行效果是一致的B. 空语句是只有一个分号的语句,它其实什么也不干C. 语句的构成不一定需要分号D. 语句的书写对程序的运行不起作用,因此可以随便写都可以7. 以下各标识符中,合法的用户标识符组为 。

A. PAd ,P #d ,b-b,abc ,_0123,ssipedB. cin ,a10,CPP ,float ,del_word ,signedC. void ,max ,hiy,〈fr>,list ,*jerif (x>y){z=x; s=z*z;}else{z=y;s=1/(z*z);}if (x>y) z=x; s=z*z; else z=y;s=1/(z*z);D.a,temp,_isw,INT,keep,wind8.字符串“\”E OF= -\61\””的长度是.A.8B.9 C.12 D.非法字符串9.数学式xsin在C程序中对应的不正确的表达式为。

C语言试题

C语言试题
}
A)因程序格式不合法,提示出错信息。
B) 6,0,6
C) 6,0,7
D) 6,0,5
6.以下程序的输出结果是()
main( )
{
int x=010,y=10,z=0x10;
printf(“%d,%d,%d\n”,x,y,z);
}
A) 8,10,16
B) 8,10,10
C) 10,10,10
D) 10,10,16
6、B是C语言提供的合法的数据类型关键字。
A. FloatB. signedC. integer D. Char
7、不正确的字符串常量是A。
A. ‘abc’B. “12’12” C.”0” D.” “
8、若定义:int a=7;float x=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是B。
13.以下程序运行后,输出结果是
A) cde B)字符c的ASCII码值C)字符c的地址D)出错
main()
{ char *s="abcde";
s+=2;
printf("%ld\n",s);
}
【答案】C
【解析】char *s ="abcde",声明s是一个字符串指针,并且将字符数组"abcde"的首地址赋值给了s,s+=2,即是在原来的s地址上向前推进两个字节,又因为数组是在连续空间上存储的一组数据,且一个字符占一个字节,那么也就等价于由数组的第一个字节地址推进到第三个字符的地址,即字符c的地址。答案为c
7.已知各变量的类型定义如下:
int i=8,k,a,b;
unsigned long w=5;
  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.无头链表。

相关文档
最新文档