C语言考试填空题(全部答案)

合集下载

C语言全部考试系统题库含答案

C语言全部考试系统题库含答案

目录目录 (1)单元练习题一 C语言基础知识 (3)一、判断题 (3)二、单项选择题 (4)三、读程序选择题 (7)四、程序填空题 (8)五、编程题...................................... 错误!未定义书签。

单元练习题二 C语言程序结构.. (9)一、判断题 (9)二、单项选择题 (9)三、读程序选择题............................. 错误!未定义书签。

四、程序填空题 (17)五、编程题................................... 错误!未定义书签。

单元练习题三数组.. (21)一、判断题 (21)二、单项选择题 (22)三、读程序选择题................................ 错误!未定义书签。

四、程序填空题 (28)五、编程题...................................... 错误!未定义书签。

单元练习题四函数.. (33)一、判断题 (33)二、单项选择题 (34)三、读程序选择题 (40)四、程序填空题.................................. 错误!未定义书签。

五、编程题...................................... 错误!未定义书签。

单元练习题五预处理................................. 错误!未定义书签。

一、判断题................................... 错误!未定义书签。

二、单项选择题............................... 错误!未定义书签。

三、读程序选择题................................ 错误!未定义书签。

四、程序填空题.................................. 错误!未定义书签。

51单片机c语言考试题目及答案

51单片机c语言考试题目及答案

51单片机c语言考试题目及答案一、选择题(每题2分,共10分)1. 下列关于51单片机的描述,错误的是()。

A. 51单片机是一种8位微控制器B. 51单片机具有丰富的I/O端口C. 51单片机的内部RAM是256字节D. 51单片机的时钟频率不能超过12MHz答案:D2. 在51单片机中,下列哪个寄存器用于存储当前正在执行的指令的地址?()A. SPB. PCC. DPTRD. PSW答案:B3. 51单片机的定时器/计数器可以工作在以下哪种模式?()A. 定时模式B. 计数模式C. 定时和计数模式D. 以上都是答案:D4. 51单片机的中断向量表中,外部中断0的中断向量地址是()。

A. 0003HB. 000BHC. 0013HD. 001BH答案:B5. 在51单片机的C语言编程中,下列哪个关键字用于定义一个函数?()A. intB. voidC. functionD. define答案:A二、填空题(每题2分,共10分)1. 51单片机的内部RAM分为______区和______区。

答案:工作寄存器;位寻址2. 51单片机的定时器/计数器0和定时器/计数器1的中断优先级分别是______和______。

答案:低;高3. 在51单片机的C语言编程中,使用______关键字可以定义一个全局变量。

答案:extern4. 51单片机的EA位是______位,它控制着______中断的总开关。

答案:总中断;所有5. 51单片机的定时器/计数器溢出时,会自动向______寄存器写入______。

答案:计数器;1三、简答题(每题5分,共20分)1. 简述51单片机的中断系统是如何工作的?答案:51单片机的中断系统由中断向量表、中断优先级和中断服务程序组成。

当一个中断事件发生时,单片机会自动将当前程序的地址存入堆栈,然后跳转到中断向量表中对应的中断服务程序地址执行中断服务程序。

中断服务程序执行完毕后,单片机会从堆栈中恢复程序的地址,继续执行被中断的程序。

C语言试题及答案

C语言试题及答案

《C语言程序设计》试题四一.单项选择题1.运算符___________的优先级最高。

A.[ ]B.+= C.?: D.++2.main( ){ int n;( n=6*4,n+6),n*2;printf(―n=%d\n‖,n); }此程序的输出结果是______________.A.30 B. 24 C.60 D. 483.若有如下定义,则__________是对数组元素的正确的引用。

.int a[10] , *p ;p=a ;A. *&a[10]B.a[11] C. *(p+11) D. *p *p *p4.设整型变量n的值为2,执行语句―n+=n-=n*n;‖后,n的值是__________A. 0B. 4C. - 4D. 25.各种基本数据类型的存贮空间正确的长度排列为__________。

A.Char<long<int<float<do ubleB.Double<float<long<int< charC.Char<int<long<float<do ubleD.Float<int<long<char<do uble 6.下面的变量说明中_____________是正确的。

A.char:a, b, c;B.char a; b; c; C.chara, b, c; D.char a, b, c7.表达式y=(13>12?15:6>7?8:9)的值为____________ 。

A9 B 8C 15 D. 18.若x=5,y=3 则y*=x+5; y的值为_______________.A. 10B. 20C. 15D. 309.能正确表示a和b同时为正或同时为负的逻辑表达式是_________。

A.a>=0||b>=0)&&(a<0||b<0) B.(a>=0 &&b>=0)&&(a<0 && b<0)C.(a+b>0) &&(a+b<=0)D.a*b>010.C语言中,合法的字符型常数是_________。

(完整word版)数据结构C语言版期末考试试题(有答案)

(完整word版)数据结构C语言版期末考试试题(有答案)

“数据结构”期末考试试题一、单选题(每小题2分,共12分)1.在一个单链表HL中,若要向表头插入一个由指针p指向的结点,则执行( )。

A. HL=ps p一>next=HLB. p一>next=HL;HL=p3C. p一>next=Hl;p=HL;D. p一>next=HL一>next;HL一>next=p;2.n个顶点的强连通图中至少含有( )。

A.n—l条有向边B.n条有向边C.n(n—1)/2条有向边D.n(n一1)条有向边3.从一棵二叉搜索树中查找一个元素时,其时间复杂度大致为( )。

A.O(1)B.O(n)C.O(1Ogzn)D.O(n2)4.由权值分别为3,8,6,2,5的叶子结点生成一棵哈夫曼树,它的带权路径长度为( )。

A.24 B.48C. 72 D. 535.当一个作为实际传递的对象占用的存储空间较大并可能需要修改时,应最好把它说明为( )参数,以节省参数值的传输时间和存储参数的空间。

A.整形B.引用型C.指针型D.常值引用型·6.向一个长度为n的顺序表中插人一个新元素的平均时间复杂度为( )。

A.O(n) B.O(1)C.O(n2) D.O(10g2n)二、填空题(每空1分,共28分)1.数据的存储结构被分为——、——、——和——四种。

2.在广义表的存储结构中,单元素结点与表元素结点有一个域对应不同,各自分别为——域和——域。

3.——中缀表达式 3十x*(2.4/5—6)所对应的后缀表达式为————。

4.在一棵高度为h的3叉树中,最多含有——结点。

5.假定一棵二叉树的结点数为18,则它的最小深度为——,最大深度为——· 6.在一棵二叉搜索树中,每个分支结点的左子树上所有结点的值一定——该结点的值,右子树上所有结点的值一定——该结点的值。

7.当向一个小根堆插入一个具有最小值的元素时,该元素需要逐层——调整,直到被调整到——位置为止。

C语言基础练习题(含答案)

C语言基础练习题(含答案)

第一章C语言基础知识1.1 选择题1. 以下不是C语言的特点的是()。

BA、语言简洁紧凑B、能够编制出功能复杂的程序C、C语言可以直接对硬件操作D、C语言移植性好2. 下列字符序列中,不可用作C语言标识符的是()。

BA.abc123 B. C._123_ D._ok 3. 正确的C语言标识符是()。

AA._buy_2 B.2_buy C._buy D.buy4. 请选出可用作C语言用户标识符的一组标识符()。

BA.void B.a3_b3 C.For D.2a define _123 -abc DOWORD IF Case sizeof5. 下列符号中,不属于转义字符的是()。

BA.\\ B.\0xAA C.\t D.\06. 不属于C语言关键字的是()。

dA.int B.break C.while D.character 7. 是C语言提供的合法关键字的是()。

bA.Float B.signed C.integer D.Char8. 以下不能定义为用户标示符的是()。

bA.scanf B.Void C._3com_ D.int9. 一个C程序是由()。

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

cA.程序行 B.语句 C.函数 D.字符11. 下列说法中,错误的是()。

aA.每个语句必须独占一行,语句的最后可以是一个分号,也可以是一个回车换行符号B.每个函数都有一个函数头和一个函数体,主函数也不例外C.主函数只能调用用户函数或系统函数,用户函数可以相互调用D.程序是由若干个函数组成的,但是必须有、而且只能有一个主函数12. 以下说法中正确的是()。

cA.C语言程序总是从第一个定义的函数开始执行B.在C语言程序中,要调用的函数必须在main( )函数中定义C.C语言程序总是从main( )函数开始执行D.C语言程序中的main( )函数必须放在程序的开始部分13. C编译程序是()。

大一学生c语言考试题及答案

大一学生c语言考试题及答案

大一学生c语言考试题及答案一、选择题(每题2分,共20分)1. 在C语言中,以下哪个选项是合法的整型常量?A. 0x123B. 123.0C. 0123D. 0x12.3答案:A2. C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A3. 下列哪个运算符不能用于数组?A. []B. +C. *D. /答案:D4. 在C语言中,以下哪个选项不是控制语句?A. ifC. forD. sizeof答案:D5. 若有定义:int a=5; float b=2.5; 则表达式 a%b 的值是多少?A. 0B. 0.0C. 2D. 编译错误答案:D6. 在C语言中,以下哪个函数用于计算字符串的长度?A. strlen()B. strcpy()C. strcat()D. strcmp()答案:A7. 下列哪个选项是正确的C语言变量声明?A. int $a;B. int _a;C. int 2b;D. int a-b;答案:B8. 在C语言中,以下哪个函数用于将字符串复制到另一个字符串?B. strncpy()C. strcat()D. strcmp()答案:A9. C语言中,以下哪个选项不是标准输入输出库函数?A. printf()B. scanf()C. fgets()D. malloc()答案:D10. 若有定义:int a=10; 则执行语句 a+=a*=a; 后,变量a的值是多少?A. 100B. 200C. 1000D. 0答案:A二、填空题(每题2分,共20分)1. 在C语言中,字符常量可以用单引号括起来,例如 'A','1',' ' 等,其中 ' ' 表示______。

答案:空格2. C语言中,若要声明一个指向整型的指针变量,可以使用以下语法:int *______;答案:p3. 在C语言中,若要声明一个具有10个元素的整型数组,可以使用以下语法:int ______[10];答案:arr4. 在C语言中,若要声明一个函数,该函数返回整型值,并且接受两个整型参数,可以使用以下语法:int ______(int a, int b);答案:func5. 在C语言中,若要声明一个结构体变量,可以使用以下语法:struct ______ st;答案:StructType6. 在C语言中,若要声明一个枚举类型,可以使用以下语法:enum ______ {E1, E2, E3};答案:EnumType7. 在C语言中,若要声明一个联合体变量,可以使用以下语法:union ______ u;答案:UnionType8. 在C语言中,若要声明一个浮点型数组,可以使用以下语法:float ______[5];答案:arr9. 在C语言中,若要声明一个二维数组,可以使用以下语法:int ______[3][4];答案:arr10. 在C语言中,若要声明一个具有10个元素的字符数组,可以使用以下语法:char ______[10];答案:str三、简答题(每题10分,共20分)1. 请简述C语言中数组和指针的区别。

c语言试卷集(10套)-试题及答案

c语言试卷集(10套)-试题及答案C语言试卷集(10套)-试题及答案试卷一一、选择题(每题2分,共20分)1. C语言中,用于表示逻辑“真”的值是()。

A. 0B. 1C. -1D. 任意非零值答案:B2. 下列哪个选项是C语言中的合法变量名?()A. 2variableB. variable2C. variable_2D. variable!答案:C3. C语言中,用于定义一个整型数组的语句是()。

A. int array[10];B. int [10] array;C. int 10 array;D. int array=10;答案:A4. 下列哪个选项是C语言中的合法字符串常量?()A. "Hello"B. 'Hello'C. "HelloD. Hello答案:A5. C语言中,用于表示逻辑“假”的值是()。

A. 0B. 1C. -1D. 任意非零值答案:A6. 下列哪个选项是C语言中的合法浮点数常量?()A. 3.14B. 314.C. .314D. 3.14E答案:A7. C语言中,用于定义一个整型变量的语句是()。

A. int x;B. var x;C. x int;D. int = x;答案:A8. 下列哪个选项是C语言中的合法字符常量?()A. 'A'B. "A"C. 'AB'D. "AB"答案:A9. C语言中,用于定义一个字符数组的语句是()。

A. char array[10];B. char [10] array;C. char 10 array;D. char array=10;答案:A10. C语言中,用于表示字符常量的是()。

A. 'A'B. "A"C. AD. "A"答案:A二、填空题(每题3分,共15分)1. C语言中,用于定义一个整型变量并初始化为0的语句是()。

万维考试题和答案c语言

万维考试题和答案c语言# 万维考试题和答案C语言## 一、选择题1. 下列哪个选项是C语言中的关键字?A. `print`B. `int`C. `function`D. `variable`**答案:B**2. C语言中,哪个函数用于计算两个数的和?A. `sum(a, b)`B. `add(a, b)`C. `calculate(a, b)`D. `printf(a + b)`**答案:B**3. C语言中,以下哪个是正确的字符串声明?A. `char str[] = "Hello";`B. `int str = "Hello";`C. `float str = "Hello";`D. `double str = "Hello";`**答案:A**4. 在C语言中,以下哪个是正确的数组声明?A. `int array[5] = {1, 2, 3, 4, 5};`B. `int array[] = {1, 2, 3, 4, 5};`C. `int array[5] = {1, 2, 3};`D. `int array = {1, 2, 3, 4, 5};`**答案:A**5. C语言中,哪个函数用于输出字符串?A. `print`B. `display`C. `printf`D. `cout`**答案:C**## 二、填空题1. 在C语言中,使用____关键字可以定义一个函数。

**答案:void**2. C语言中,用于声明整型变量的关键字是____。

**答案:int**3. C语言中,用于声明字符型变量的关键字是____。

**答案:char**4. 在C语言中,数组的声明需要指定____和____。

**答案:类型,大小**5. C语言中,用于输出整数的函数是____。

**答案:printf**## 三、简答题1. 简述C语言中函数的定义和调用过程。

C语言考试真题

C语言考试真题C程序题库一填空题,1,C语言表达式!(3<6)||(4<9)的值是【1】;2,假设变量a,b均为整形,表达式(a=5,b=2,a>b?a++:b++,a+b)的值是【8】;3,当a=3,b=2,c=1;时,执行以下程序段后c=【2】;If(a>b) a=b;If(b>c) b=c;Else c=b;C=a;4,已知 i=5,写出语句i*=i+1;执行后整形变量i 的值是【30】;5,按内存排列顺序,数组char a[2]中的所有元素是a[1]和【a[0]】二判断1,C语言中只能逐个引用数组元素而不能一次引用整个数组 Y2,int i=20;switch(i/10){case2:printf(“A”);Case 1:printf(“B”);}的输出结果为 A N3,在C中,int定义的整形数据在内存中占2个字节。

N4,假设有int a[10], *p; 则p=&a[0]与p=a等价。

Y5,共同体变量所占的内存长度等于最长的成员的长度。

Y三选择题1,数组名作为实参数传递给函数时,数组名被处理为(C)A 该数组的长度B 该数组的元素个数C 该数组的首地址D 该数组中各元素的值2,若调用一个函数,且此函数中没有return语5,已定义两个字符数组a,b,则以下正确的输入格式是(A)A scanf(“%s%s”, a, b)B get(a, b)C scanf(“%s%s”, &a, &b)D gets(“a”), gets(“b”)6,若给定条件表达式(M)?(a++):(a--),则其中表达式M(C)A 和(M==0)等价B 和(M==1)等价C 和(M!=0)等价D 和(M!=1)等价7,以下函数类型是(C)Fff(float x){Return 5;}A 与参数x的类型相同B void 类型C int 类型D 无法确定8,以下不正确的if语句是(B)A if(x>y && x!=y)B if(x==y:) x+=yC if(x!=y)scanf(“%d”, &x ) else scanf(“%d”, &y)D if(x<y) {x++, y++}9,指针变量p进行自动加算(即执行p++;)后,地址偏移值为2,则其数据类型为(A)A intB floatC doubleD char10,在以下给出的表达式中,与 do--while(E)语句中的(E)不等价的表达式是(C)A (!E==0)B (E>0||E<0)C (E==0)D (E!=0)11,下列程序的输出结果是(B)main ( ){Printf ( “%d\n” ,n )}A 0B 变量无定义C -1D 112,以下选型中,与k=n++完全等价的表达式是(A)A k=n, n=n+1B n=n+1, k=nC k=++nD k+=n+113,以下程序段的输出结果为(D)char c [ ]=”abc” ;int i=0 ;do ; while ( c[ i++ ]!=’ \0’ ) ; printf ( “%d”, i-1 ) ;A abcB abC 2D 314,下列程序段的输出结果为(B)float k=0.8567printf ( “%06.1f%%” ,k*100 );A 0085.6%%B 0085.7%C 0085.6%D .85715,下列选项中正确的语句组是(D)A char s[ 8 ]; s={ “Beijing” };B char *s; s={ “Beijing” };C char s[ 8 ] ; s=”Beijing” ;D char *s ; s=”Beijing” ;16,已知字符a的ASCII码值是97,字符A的ASCII码值是65,则执行下列语句后变量a和b 的值分别为(B)int a, b ;a=1+’ a ‘ ;b=2+7%4- ‘ A ‘ ;A -63, -64B 98, -60C 1, -60D 79, 7817, 若使用一维数组名作函数实参,则以下正确的说法是(A)A 必须在主调函数中说明此数组的大小B 实参数组类型与形参数组类型可以不匹配C 在被调用函数中,不需要考虑形参数组的大小D 实参数组名与形参数组名必须保持一致18,若有说明:int i, j=2, *p=&i; ,则能完成i=j赋值功能的语句是(B)A i=*p ;B *p=*&j ;C i=&j ;D i=**p ;19,若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是(D)A 函数调用可以作为独立的语句存在B 函数调用可以作为一个函数的实参C 函数调用可以出现在表达式中D 函数调用可以作为一个函数的形参20,若a=-14, b=3, 则条件表达式 a<b ? a :b+1的值为(A)A -14B -13C 3D 4一填空题1,已知 i=5,写出语句 a=a++; 执行后整形变量a的值是【5】2,int x=2,y=2,z=0; 则表达式x==y>z的值为【0】3,假设所有变量都为整形,表达式(a=2, b=5, a>b?a++:b++,a+b)的值是【8】4,设k=(a=2,b=3,a*b),则k的值为【6】5,int a=1,b=2,c=3;执行语句a += b *= c;后a的值是【7】二判断题1,int a[ 3 ][ 4 ]={ {1}, {5}, {9} }:它的作用是将数组各行第一列的元素赋初值,其余元素值为0.2,循环结构中的continue语句是使整个循环终止执行 N3,C程序中有调用关系的所有函数必须放在同一个源程序文件中 N4,char c[ ]=”Very Good”: 是一个合法的为字符串数组赋值的语句 Y5,函数strlen(“ASDFG\n”)的值是7 N三选择题1.char h, *s=&h;可将字符H通过指针存入变量h中的语句是(B)A *s=HB *s=’H’C s=HD s=’H’2,应用缓冲文件系统对文件进行读写操作,打开文件的函数名为(B)A openB fopenC closeD fclose3,对结构体类型的变量的成员的访问,无论数据类型如何都可使用的运算符是(A)A .B ->C *D &4,若有定义:int a=7;float x=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是(A)A 2.500000B 2.750000C 3.500000D 0.0000005,下列定义数组中的语句不正确的是(D)A static int a[ 2 ][ 3 ]={ 1,2,3,4,5,6 }B static int a[ 2 ][ 3 ]={ {1},{4,5} }C static int a[ ] [ 3 ]={ {1},{4} }D static int a[ ] [ ]={ {1,2,3},{4,5,6} } 6,下列变量说明语句中,正确的是(D)A char : a b cB char a; b; cC int x; zD int x, z7,关于return语句,下列正确的说法是(C)A 不能在主函数中出现且在其他函数中均可出现B 必须在每个函数中出现C 可以在同一个函数中出现多次D 只能在除主函数之外的函数中出现一次8,以下可作为函数fopen中第一个参数的正确格式是(D)A c : user\text . txtB c : \user\text . txtC “c : \user\text . txt”D “c : \\user\\text . txt”9,若所有变量均为整形,则表达式(a=2,b=5,b++,a+b)的值是(B)A 7B 8C 6D 210,为表示“x大于等于y,y大于等于z”,应使用C语言表达式(A)A (x>=Y)&&(Y>=z)B (x>=Y)AND(y>=z)C (x>=Y>=z)D (x>=Y)&(Y>=z)11,执行以下程序段后,输出结果和a的值是(B) Int a=10;printf(“%d”,a++);A 10和 10B 10和 11C 11和 10D 11和 1112,若有int i=3, *p;p=&i ; 下列语句中输出结果为3的是(C)A printf (“%d”, &p )B printf (“%d”, *i )C printf (“%d”, *p )D printf (“%d”, p )13,C语言规定,在一个源程序中,main函数的位置(C)A 必须在最开始B 必须在系统调用的库函数的后面C 可以任意D 必须在最后14,C语言中的文件的储存方式有(C)A 只能顺序存取B 只能随机存取(或直接存取)C 可以顺序存取,也可随机存取D 只能从文件的开头进行存取15;以下read函数的调用形式中,参数类型正确的是(A)A read (int fd, char *buf, int count)B read(int *buf, int fd, int count)C read(int fd, int count, char *buf)D read(int count, char *buf, int fd ) 16,以下标识符中,不能作为合法的C用户定义标识符的是(D)A ForB PrintfC WORDD sizeof17,条件运算符的结合方式是(A)A 自右自左B 自左至右C 任意D 前后顺序18,若有说明:int a[ 3 ][ 4 ]={ 0 };则下面正确的叙述是(D)A 只有元素a[ 0 ][ 0 ]可得到初值0B 此说明语句不正确C 数组a中各元素都可得到初值,但其值不一定为0D 数组a中每个元素均可得到初值019,设有以下定义:struct sk { int a; floatb; } data, *p; 若要使p指向data中的a域,正确的赋值语句是(A)A p=( struct sk* )&data. a;B p=( struct sk ) data. a;C p=&data. a;D *p=data. a;20,下列运算符中是C语言关系运算符的是(D)A ~B !C &D !=一填空题1,C语言的三种基本结构是【顺序】结构、选择结构、循环结构2,设有以下定义语句:Int a[ 3 ] [ 2 ]={ 10, 20, 30, 40, 50, 60 },( *p ) [ 2 ];p=a;则 *(*(p+2)+1)值为【60】3,当a=1, b=2, c=3时,执行以下程序段后c=【2】if ( a>c ) b=a;a=c;c=b;4,int x=2, y=3, z=4, 则表达式x+( y>! z )的值为【3】5,设C语言中,int类型数据占2个字节,则long类型数据占【4】个字节,Short类型数据占【2】个字节二判断题1,一个include命令可以指定多个被包含的文件 N2,#define和printf都不是C语句Y3,x*=y+8等价于x=x*( y+8 ) Y4,若有定义和语句:int a; char c; float f;scanf( “%d, %c, %f”, &a,&c,&f );若通过键盘输入:10,A,12.5,则a=10, c=’A’, f=12.5 Y5,a=( b=4 )+( c=6 )是一个合法的赋值表达式Y三选择题1,已知字母a的ASCII十进制代码为97,则执行下列语句后输出的结果为(C)char a=’a’ ; a--;Printf ( “%d,%c\n”,a+’2’-’0’,a+’3’-’0’ );A b, cB a--运算不合法,故有语法错C 98,cD 格式描述和输出项不匹配,输出无定值2,C语言中函数调用的方法有(D)A 函数调用作为语句一种B 函数调用作为函数表达式一种C 函数调用作为语句或函数表达式两种D 函数调用作为语句、函数表达式或函数参数三种3,设char *s=”\ta\017bc”:则指针变量s指向的字符串所占的字节数是(C)A 9B 5C 6D 74,下列定义不正确的是(C)A #define PI 3.141592B #define S 345C int max( x,y ); int x,y; { }D static char c;5,一个C程序的执行是从(A)A 本程序的main函数开始,到main函数结束B 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C 本程序的main函数开始,到本程序文件的最后一个函数结束D 本程序文件的第一个函数开始,到本程序main函数结束6,以下程序段的输出结果为(B)for ( i=4; i>1; i-- )for ( j=1; j<i; j++ )putchar ( ‘#’ );A 无B ######C #D ###7,sizeof ( float )是(C)A 一个函数调用B 一个不合法的表达式C 一个整形表达式D 一个浮点表达式8,以下程序段中,不能正确赋字符串(编译时系统会提示错误)的是(C)A char s[ 10 ]=”abcdefg”;B char t[ ]=”abcdefg”, *s=t;C char s[ 10 ]; s=”abcdefg”D char s[ 10 ]; strcpy( s, “abcdefg” ) 9,以下运算符中,优先级最高的运算符是(B)A ?:B ++C &&D ,10,以下选项中合法的实型常数是(C)A 5E2.0B E-3C .2E0D 1.3E11,执行语句int x=5, a=0, b=0; if ( x=a+b ) printf ( “****\n”); else printf ( “####\n” );后,结论是A 有语法错误,不能通过翻译B 能通过翻译,但不能连接C 输出****D 输出####12,C语言结构体类型变量在程序执行期间(A)A 所有成员一直驻留在内存中B 只有一个成员驻留在内存中C 部分成员驻留在内存中D 没有成员驻留在内存中13,变量的指针,其含义是指该变量的(B)A 值B 地址C 名D 一个标志14,以下语句char c=’ a ‘; if ( ‘a’<c<=’z’) printf ( “LOW”); else printf ( “UP” );执行后的结果为(A)A LOWB UPC LOWUPD 语句错误,编译不能通过15,执行下列语句的结果为(B)Int x=3, y;Int *px=&x;y=*px++;A x=3, y=4B x=3, y=3C x=4, y=4D x=3, y不知16,以下关于运算符优先顺序的描述中正确的是(C)A 关系运算符<算术运算符<赋值运算符<逻辑运算符B 逻辑运算符<关系运算符<算术运算符<赋值运算符C 赋值运算符<逻辑运算符<关系运算符<算术运算符D 算术运算符<关系运算符<赋值运算符<逻辑运算符18,若定义:int a=511, *b=&a;,则printf ( “%d\n”, *b );的输出结果为(D)A 无确定值B a的地址C 512D 51119,下列表达式中,(B )不满足“当x的值为偶数时值为真,为奇数时值为假”的要求.A x%2==0B ! x%2 !=0C ( x/2*2-x )==0D ! ( x%2 )20,全局变量的定义不可能在(A)A 函数内部B 函数外面C 文件外面D 最后一行选择题集锦1,下列字符中,能作为单个标识符的是( D )A ?AB a=2C a. 3D a_32,下列字符列中,可以作为“字符串常量”的是( B )A ABCB “ABC”C ‘abc’D ‘a’3,在以字节存储字符的系统中,‘\n’在内存占用的字节数是( A )A 1B 2C 3D 44,字符串”xyz “在内存占用的字节数是( B )A 3B 4C 6D 85,设变量m ,n ,a ,b ,c ,d的初值均为0,执行( m=a==b )||( n=c==d )后,m , n的值是()A 0 ,0B 0, ,1C 1 ,0D 1 ,16,设a为5,执行下列计算后,b的值不为2的是()A b = a / 2B b = 6-( --a )C b = a%2D b = a < 3 ? 3 : 27,执行语句” x=( a=3 , b=a-- ) ; “后,x , a , b 的值依次为()A 3 , 3 , 2B 2 , 3 , 2C 3 , 2 , 3D 2 , 3 , 38,设整形变量m , n , a , b , c , d均为1,执行” ( m=a>b )&&( n=a>b ) “后,m , n的值是()A 0 , 0B 0 , 1C 1 , 0D 1 , 19,设有代码” int a = 3 ; “则执行语句”a+=a-=a*a ; “后,变量a的值是()A 3B 0C 9D -1210,若已定义x和y为double类型,则表达式 : x = 1 , y = x + 3/2结果为()A 1B 2C 2.0D 2.511,设 a = 1 , b = 2 , c = 3 , d = 4 则表达式a < b ? a : c < d ? a : d的结果为()A 4B 3C 2D 112,若有以下定义 : char a ; int b ; float c ; double d ;则表达式a*b+d-c值得类型为()A floatB intC charD double13,设ch是char型变量,其值为’A ‘,则下面表达式的值是()ch = ( ch>=’ A ‘&& ch <= ‘ Z ‘ ) ? ( ch + 32 ) : chA ‘ A ‘B ‘ a ‘C ‘ Z ‘D ‘ z ‘14,设有int i = 010 , j = 10 ;则执行”printf ( “%d , %d\n” , ++i , j-- ) ; “的输出值是()A 11 ,10B 9 , 10C 010 , 9D 10 , 915,设a , b为字符变量,执行”scanf ( “a =%c , b = %c “ ,&a , &b )”后使a变为A,b为B,从键盘上的正确输入是()A ‘ A ‘’B ‘B ‘ A ‘ , ‘ B ‘C A = A , B = BD a = A , b = B16,下列语句中,句法错误的是()A while ( x = y ) 5;B do x++ while ( x = = 10 );C while ( 0 );D do 2 ; while ( a = = b );17,假定a和b为int型变量,则执行以下语句后b的值为()a = 1 ;b = 10 ;do { b- = a ; a++ } while ( b-- < 0 ) ;A 9B -2C -1D 818,设x和y为int型变量,则执行下面的循环后 , y的值为()for ( y = 1 , x = 1 ; y <= 50 ; y++ ) {if ( x >= 10 ) break ;If ( x%2 == 1 ) { x + =5 ; continue ; } x - = 3 ;}A 2B 4C 6D 819,下列程序的功能是输出一个整数,判断是不是素数,若为素数输出1,否则输出0,请为程序填空.main ( ){int i , x , y = 1 ;scanf ( “ %d “ , &x ) ;for ( i = 2 ; i <= x/2 ; i++ )if ___________________ { y = 0 ; break ; }printf ( “%d\n” , y ) ;}20,编一个程序,输入X的值,按下列公式计算并输出Y的值。

大一c语言考试题及答案

大一c语言考试题及答案一、选择题(每题2分,共20分)1. C语言中,以下哪个关键字用于定义一个函数?A. classB. structC. functionD. void答案:D2. 以下哪个选项是C语言中的合法整型常量?A. 0x12B. 0x12.5C. 0x12LD. 0x12.5L答案:A3. 在C语言中,以下哪个选项是正确的字符串字面量?A. "Hello, World"B. 'Hello, World'C. "Hello", "World"D. "Hello" 'World'答案:A4. 下面哪个是C语言中的合法变量名?A. 2variableB. variable2C. variable-nameD. variable$name答案:B5. 在C语言中,以下哪个选项是正确的数组声明?A. int array[5];B. int [5] array;C. int array[];D. int array[5][];答案:A6. C语言中,以下哪个运算符用于计算两个整数的差?A. +B. -C. *D. /答案:B7. C语言中,以下哪个选项是正确的条件语句?A. if (condition) { statement; }B. if condition { statement; }C. if (condition) statement;D. if condition statement;答案:A8. 在C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A9. C语言中,以下哪个选项是正确的指针声明?A. int *ptr;B. int ptr*;C. *int ptr;D. ptr int*;答案:A10. 在C语言中,以下哪个选项是正确的循环语句?A. for (int i = 0; i < 10; i++) { statement; }B. for (int i = 0; i < 10; i++) statement;C. for i = 0; i < 10; i++ statement;D. for (i = 0; i < 10; i++) { statement; }答案:A二、填空题(每题2分,共20分)1. C语言中,用于定义一个整型变量的关键字是________。

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

计算机程序设计基础(C语言)程序填空练习题程序填空:阅读程序。

在划线处填写适当的表达式或语句,使程序完整并符合题目要求1.输入一个字符,判断该字符是数字、字母、空格还是其他字符。

main( ) 参考答案:{ char ch;ch=getchar();if( ) ch>='a'&&ch<='z'|| ch>='A'&&ch<='Z' printf("It is an English character\n");else if( ) ch>='0'&&ch<='9'printf("It is a digit character\n");else if( ) ch==' 'printf("It is a space character\n");elseprintf("It is other character\n"); }2.10个学生成绩按交换法排序。

main(){ float score[10], temp1;int i, j;printf("Please enter score:\n");for (i=0; i<10; i++)scanf("%f",&score[i]);for (i=0; i<9; i++)for (j=i+1; j<10; j++)if (score[j] > score[i]){ temp1=score[j];score[j]=score[i];score[i]=temp1;}printf("Sorted results:\n");for (i=0; i<10; i++)printf("%4.0f\n", score[i]); }11.排序函数:用交换法按成绩由高到低对学生成绩重新排序void Sort(float score[ ],int n){ int i, j;float temp1;for (i=0; i<n-1; i++){ for (j=i+1; j<n; j++)if ( ) score[j] > score[i]{ temp1 = score[j];; score[j]=score[i];score[i] = temp1;}}}自定义一函数求n!, 编写程序输入n,输出n!.#include<stdio.h>long jc(int n){ int i=1;long p=1;while (i <= n){ p=p*i;i++; }} return p;main(){ int n;printf("Please enter n:");scanf("%d", &n);printf("%d! = %ld\n", n, ); jc(n)}4.下列程序的功能是从输入的整数中,统计大于零的整数个数和小于零的整数个数。

用输入0来结束输入,用i,j来放统计数。

#include<stdio.h>main(){ n,i=0,j=0; intprintf(“input a integer,0 for end\n”);scanf(“%d”,&n);while() n!=0{ if(n>0) i= ; i+1if(n<0) j= ; j+1; } scanf("%d",&n);printf(“i=%4d,j=%4d\n”,i,j);}5.下面程序的功能是在a数组中查找与x值相同的元素所在位置。

数据从a[1]元素开始存放。

#include<stdio.h>main(){ int a[11],i,x;printf("input 10 integers:");for(i=1;i<=10;i++)scanf("%d", ); &a[i]printf("input the number you want to find x:");scanf("%d",&x);a[0]=x;i=10;while(x!= ) a[i]; i--;if( ) x==a[i]printf("the pos of x is %d\n",i);elseprintf("can not find x!\n");}1.程序的功能是在a数组中查找与x值相同的元素所在位置。

#include <stdio.h>main(){ int a[10],i,x;printf(“input 10 integers:”);for(i=0;i<10;i++) scanf(“%d”,&a[i]);printf(“input the number you want to find x:”);scanf(“%d”,&x);for (i=0;i<10;i++)if(a[i]==x); break;if( )printf(“the pos of x is:%d\n”,i+1); a[i]==x else printf(“can not find x!\n”);}6.下面程序的功能是将一个字符串str的内容颠倒过来。

#include “string.h”main(){ int i,j, ;char str[]={“1234567”};for(i=0,j=strlen(str)-1; ;i++,j--) i<=strlen(str)/2 { k=str[i]; ; str[j]=k;} str[i]=str[j]; printf("\n%s",str);}7. 下面函数实现strlen函数的功能,即计算指针p所指向的字符串中的实际字符个数。

#include <string.h>unsigned int MyStrlen(char *p){ int len;len = 0;for (; *p != ‘\0’ ; p++){; len++;}return len ;}main(){ char str[]={"12345678"};printf("\n%d",MyStrlen(str));}8.下面是判断一个数是否为素数的函数#include <stdio.h>#include <math.h>int IsPrimeNumber( ) int number{ int i;if (number <= 1)return 0 ;for (i=2; i<sqrt(number); i++){if (( ) == 0) number%i return 0;}return 1;}main(){ int n;scanf("%d",&n);if(IsPrimeNumber(n))printf("%d is a prime number",n);elseprintf("%d is not a prime number",n);}9.编程计算1+3+5+。

+101的值#include <stdio.h>main(){ int i, sum = 0;for (i = 1; ; ) i<=101; i=i+2 sum = sum + i;printf("sum=%d\n", sum);}12.编程计算1+3+5…+99的值main(){ int i, sum = 0;i=1;while ( ) i<=99;{ sum = sum + i;; } i=i+2;printf("sum=%d\n", sum);}10.输入一个学生的成绩(在0~100分之间),进行五级评分并显示。

main ( ){int score;scanf ("%d",&score);if (score>=0&& score<=100)switch (__________________) score/10 {case 10:case 9: printf (" Excellent \ n");break;case 8: printf ("Good \n");break;case 7: printf ("Middle \n"); break;case 6: printf ("Pass \n"); ________; break;default: printf ("No pass \n"); }}14.用指针作函数参数,对输入的两个整数按大小顺序输出。

void swap(int *p1,int *p2){ int p;p= ; *p1= ; *p1 *p2= p; *p2}main(){ int a,b;scanf("%d,%d",&a,&b);if(a<b) swap( ); &a,&bprintf("\n%d,%d\n",a,b);}15.从键盘输入一个字符,判断它是否是英文字母。

#include <stdio.h>void main(){char c;printf("input a character:");c=getchar();if(c>= &&c<= || c>=‘a’ &&c<= ‘z’) ‘A’‘Z’printf("Yes\n");elseprintf("No");}*16. 以下使用数组来处理打印斐波那契数列的前20项的程序。

打印时,每行打印10个数字。

斐波那契数列的格式为:当n=0时,f[0]=0,当n=1时,f[1]=1,当n>1时,f[n]=f[n-1]+f[n-2]#include “stdio.h”main( ){ int fbn[20];int line=0, j ;fbnq[0]=0;fbnq[1]=1;for(j= ; j<20; j++) 2; fbnq[j]=fbnq[j-1]+fbnq[j-2] ;for(j=0; j<20; j++){ printf(“%d”,fbnq[j]);line++;if(line==10){ line=0;printf(“\n”);}}*18.下面的函数是一个求阶乘的递归调用函数。

相关文档
最新文档