C语言期中考试试卷
- 格式:pdf
- 大小:146.02 KB
- 文档页数:6
C语言程序设计期中考试题一、选择题(每个3分共12分)1、关于函数的实参和形参说法正确的是()A、实参与其对应的形参共同占用同一个存储单元B、实参与其对应的形参各自占用独立的存储单元C、只有当实参与其对应的形参同名时才占用同一个存储单元D、形参是虚拟的不占用内存单元2、下列程序运行后的输出结果是()#include<stdio.h>void main(){ int i,sum=0;for(i=1;i<=10;i++)sum=sum+i;printf(“%d,%d\n”,i,sum);}A、10,55B、10,66C、11,55D、11,663、下列语句执行后,x的值是()int m=10,n=2,x=100;x*=m/n-m*n;A、300B、-1000C、-500D、5004、下列语句执行后,x的值是()float a=0.5,b=1.5,c=3.5;x=(a+b,3*c,0<=a<1);A、2B、4.5C、0D、1二、填空题(每空4分共48分)1、编程的过程是:问题分析、__________、编辑程序、编译连接、生成可执行程序、运行与调试。
2、一个C语言程序可以由多个源程序文件组成,每个文件中可以有若干函数,但有且只能有一个________函数。
3、C语言的标示符由字母、数字和________组成,其中第一个字符必须是________________4、与下列语句:if(a+b>c*d)res=a*b;else res=c+d;等价的语句是:res=__________________________________5、假设有定义:int x;则逻辑表达式x&&1等价于_________________________6、下列程序先输出m个空格,再输出n个指定的字符ch,请补充程序:#include<stdio.h>void print(__________________){ int i;for(i=1;i<=m;i++)__________________for(______________)printf(“%c”,ch);}7、阅读下列程序,并补充完整:#include<stdio.h>int sum(int n){___________________s=s+n;return s;}void main(){ int i,n,s;printf(“请输入一个正整数n,计算s=1+2+...+n\n”);scanf(“%d”,&n);for(i=1;i<=n;i++)s=sum(i);printf(“s=%d”,s);}8、下面程序的输出结果是__________________#include<stdio.h>void main(){ int num=0;while(num++<6){ printf(“%d,”,num);if(num=3)break;}printf(“%d\n”,num);}9、下面程序的输出结果是_____________#include<stdio.h>void main(){int a=2,b=3,c=1;printf("%d,%d,%d\n",a,b+c, a=10||--c||a-b);}三、程序设计题(共40分)1、(10分)编写函数sum,接收两个正整数a和n参数,计算a+aa+...+aa...a(n个a)的和并返回。
大一c语言期中考试试题及答案一、选择题(每题2分,共20分)1. C语言中,用于定义一个结构体类型的关键字是()。
A. structB. unionC. enumD. typedef答案:A2. 下列哪个选项不是C语言中的运算符?()A. %B. &&C. ::D. ==答案:C3. 在C语言中,用于定义一个函数的关键字是()。
A. intB. voidC. returnD. function答案:B4. 下列哪个选项不是C语言中合法的变量名?()A. _nameB. name_2C. 2nameD. name答案:C5. 在C语言中,用于表示逻辑“与”的运算符是()。
A. &&B. ||C. !D. ^答案:A6. 下列哪个选项是C语言中的控制语句?()A. ifB. switchC. caseD. all of the above答案:D7. C语言中,用于定义一个字符常量的是()。
A. 'a'B. "a"C. aD. a答案:A8. 在C语言中,用于表示“不等于”的运算符是()。
A. ==B. !=C. =D. ==答案:B9. 下列哪个选项是C语言中的文件操作函数?()A. printfB. scanfC. fopenD. fclose答案:C10. 在C语言中,用于定义一个整型数组的语法是()。
A. int arr[10];B. int arr=10;C. int arr[];D. int [10] arr;答案:A二、填空题(每题2分,共20分)1. C语言中,用____关键字定义一个全局变量。
答案:extern2. 一个C语言程序的执行从____函数开始。
答案:main3. C语言中,用于声明一个指针变量的语法是____。
答案:int *p;4. C语言中,____运算符用于取地址。
答案:&5. C语言中,____运算符用于解引用指针。
《 C语言》课程期中考试试卷一. 在A B C D四个选项中,选择一个正确的答案填入括号内( )1、用char定义的变量在IBM PC机中能表示的数的范围是:A) 0 ~+255 B) 0 ~+65535C) -128 ~+127 D) 只能存字符,不能存数( )2、设有int k=2; 则执行printf(“%d”,k++);的输出为:A) 0 B) 1 C) 2 D) 3()3、在while(!x)中,!x与______等价。
A) x==0 B) x!=0 C) x==1 D) x!=1()4、设有声明int value=‟5‟;,则执行下列选项的赋值语句后,value的值不等于5的是_____。
A.) value=value - ‟0‟; B) value=value - 0x30;C) value=value - 49; D) value=value - ‟\060‟;()5、如int k=7;float x=2.5,y=4.7; 则表达式 x+k%3*(int)(x+y)%2/4 运算后的值是:A) 0 B) 2 C) 2.5 D) 2.75( ) 6、若有int a,b;则语句:printf("%d",(a=2)&&(b=-2);的输出结果是:A)无输出 B)结果不确定 C)-1 D)1( ) 7、设有int a=2; 则执行printf("%d",5>a>1);的输出为:A)0 B)1 C)2 D)3( ) 8、执行语句c=(a=2,a+1,b=a++);后, a,b,c的值依次为:A)2,3,4 B)3,3,3 C)4,5,4 D)3,2,2( )9、以下程序的输出结果是A)2 0 B)3 1 C)3 2 1 D)2 1 0main( ){ int n=4;while(n--)printf("%d ",--n);}( )10、给出以下定义:char x[ ]="abcdef";char y[ ]={'a','b','c','d','e','f'};则正确的叙述为A) 数组x和数组y等价 B) 数组x和数组y的长度相同C) 数组x的长度大于数组y的长度 D) 数组x的长度小于数组y的长度( )11、若对一个函数调用在前, 定义在后,C语言将视其返回值为__________类型。
C语言程序设计期中考试卷一、选择题1.下面程序段的运行结果是 ..forx=3; x<6; x++ printfx%2 “%d”: “%d\n”; x;A.3 4 5B.345C.345D.3452.下面程序的运行结果是 .. include<stdio.h>int main{int i;fori=1; i<=5; i++switchi%5{case 0: printf"";break;case 1: printf"";break;default: printf"\n";case 2: printf"&";} return 0;}A.&&& B.& & &C.&&&D.&3.下面程序的功能是求算式xyz+yzz=532中的x;y;z的值其中xyz和yzz分别表示一个三位数;请选择填空..include <stdio.h>int main{ int x;y;z;I;result=532;forx=1;x<10;x++fory=1;y<10;y++for ; z<10; z++{ i=100x+10y+z+100y+10z+z;ifprintf“x=%d;y=%d;z=%d\n”;x;y;z;}return 0;}A1.z=x B1.z=1 C1.z=0 D1.z=yA2.i/result==1 B2.i=result C2.i=result D2.i==result 4.以下正确的描述是 ..A.continue语句的作用是结束整个循环的执行B.只能在循环体内和switch语句体内使用break语句C.在循坏体内使用break语句或continue语句的作用相同D.从多层循环嵌套中退出;只能使用goto语句5.在下面的程序中; ..include<stdio.h>int main{int t;x;fort=1;t<=100;t++{scanf"%d";&x;ifx<0 continue;printf"%3d";t;}return 0;}A.当x<0时整个循环结束B.x>=0时什么也不输出C.printf函数永远也不执行D.最多允许输出100个非负整数6.与下面程序段等价的是 ..forn=100; n<=200; n++{ ifn%3==0 continue;printf“%4d”;n;}A.forn=100; n%3 && n<=200; n++ printf“%4d”;n; B.forn=100; n%3 || n<=200; n++ printf“%4d”;n; C.forn=100; n<=200; n++ ifn%3=0 printf“%4d”;n; D.forn=100; n<=200; n++{ifn%3 printf“%4d”;n;else continue;break;}7.下面程序的运行结果是 ..include <stdio.h>int main{ int a;b;for a=1; b=1; a<=100; a++{ ifb>=20 break;ifb%3= =1 {b+=3;continue;}b - =5;}printf“%d\n”;a;return 0;}A.7 B.8 C.9 D.10二、填空题1. 下面程序段是从键盘输入的字符中统计数字字符的个数;用换行符结束循环..请填空..int n=0; c;c=getchar ;while{ if n++;c=getchar}2. 有1020个西瓜;第一天卖一半多两个;以后每天卖剩下的一半多两个;下面的程序统计买完所需的天数;请填空..include <stdio.h>int main{ int day=0; x1=1020; x2;while{ x2= ;x1=x2;day++;}printf“day=%d\n”;day;return 0;}3. 当运行以下程序时;从键盘键入right<回车>;则下面程序的运行结果是 ..include<stdio.h>int main{char c;whilec=getchar ='' putchar++c;putchar'\n';return 0;}4. 下面程序的运行结果是 ..include<stdio.h>int main{int a=2;s=0;n=1;count=1;whilecount<=7 {n=na;s=s+n;++count;}printf"s=%d\n";s;return 0;}5. 当运行以下程序时;从键盘输入“China<回车>”;则下面程序的运行结果是 ..include<stdio.h>int main{int v1=0;v2=0; char ch;whilech=getchar =''switchch{case 'a':case 'h':default: v1++;case 'o': v2++;}printf"%d;%d\n";v1;v2;return 0;}6. 下面程序段中循环体的执行次数是 ..a=10; b=0;do { b+=2; a-=2+b;}whilea>=0;7. 下面程序段的运行结果是 ..x=2;do { printf“”; x--; } whilex= =0;8. 下面的程序的功能是用do-while语句求1—1000之间满足“用3除余2;用5除余3;用7除余2”的数;且一行只打印5个数;请填空..include <stdio.h>int main{ int i=1;j=0;do{ if{ printf“%4d”;i;j++;if printf“\n”;}i=i+1;} whilei<1000;return 0;}9. 当运行以下程序时;从键盘输入“1 2 3 4 5 -1<回车>”;则下面程序的运行结果是 ..include<stdio.h>int main{ int k=0;n;do{scanf"%d";&n;k+=n;}whilen=-1;printf"k=%d n=%d\n";k;n;return 0;}10. 下面程序的运行结果是 ..include<stdio.h>int main{int i=0;x=0;y=0;do{++i;ifi%2=0 {x=x+i;i++;}y=y+i++;}whilei<=7;printf"x=%d;y=%d\n";x;y;return 0;}11. 下面程序段是找出整数的所有因子..请填空..include<stdio.h>int main{int x;i;scanf"%d";&x;i=1;for ; ;{ifx%i==0 printf"%3d";i;i++;} return 0;}12. 鸡、兔共有30只; 脚共有90个;下面程序段是计算鸡兔各有多少只;x 代表有多少只鸡;y代表有多少只兔子;请填空完成程序..forx=1; x<=30; x++{y=30-x;if printf“%d;%d\n”;x;y;}13. 下面程序段的运行结果是 ..fora=1;i=-1; -1<=i<1; i++{ a++; printf“%2d”;a;}printf“%2d”;i;14. 下面程序的功能是1-3+5-7+……-99+101的值..请填空..include<stdio.h>int main{int i;t;s=0;q=1;fori=1;i<=101;i+=2{t= ; s=s+t; q= ;}printf"%d\n";s;return 0;}15. 以下程序的功能是根据公式e=1+1/1+1/2+1/3+……;求e的近似值;精度要求为10-6..请填空..include<stdio.h>int main{int i; double e;n;; n=1.0;fori=1; ;i++{n/=i;e+=n;}printf"e=%f\n";e;return 0;}16. 下面程序的运行结果是 ..include<stdio.h>int main{int i;fori=1;i<=5;i++switchi%2{case 0: i++; printf"";break;case 1: i+=2; printf"";default: printf"\n";}return 0;}17. 下面程序的功能是统计用数字0-9可以组成多少个没有重复数位的3位偶数..请填空..include<stdio.h>int main{int n=0;i;j;k;fori=1;i<=9;i++fork=0;k<=8;ifk=iforj=0;j<=9;j++if{printf"%d\n";i100+j10+k;n++;}printf"n=%d\n";n;return 0;}18. 下面程序的功能是输出1-100之间满足每位数的乘积大于每位数的和的数..请填空..include<stdio.h>int main{ int n;k=1;s=0;m;forn=1;n<=100;n++{k=1;s=0;;while{k=m%10;s+=m%10;;}ifk>s printf"%5d";n;}printf"\n";return 0;}三、编程题1.打印出以下图形10’s u s2.有三个数a、b、c;由键盘输入;输出其中第二大的数..12’3.编写一个程序;求s=1+1+2+1+2+3+…+1+2+3+…+n的值..15’4.输入一批非0数;直到输入0时为止;计算其中奇数的平均值和偶数的乘积..15’5.有一口深度为h米的水井;井底有一只青蛙;它每天白天能够沿井壁向上爬m米;夜里则顺井壁向下滑n米;若青蛙从某个早晨开始向外爬;试编写一个函数:对于任意指定的h;m;n值均为自然数;计算青蛙多少天能够爬出井口15’。
一、选择题:【1】在C语言中,用户能使用的正确标识符是。
A) 5f B) _for C) struct D) _f.5答案: B 分析:标识符只能由字母、数字、下划线组成,且第一个字母必须是字母或下划线;大小写敏感;不能使用关键字;最长32 个字符。
【2】以下那个是正确的C语言常量。
A) 0678 B) '\0101' C) 1.2E3.5 D) 123L答案:D【3】以下对C语言源程序有关常识正确的描述是。
A) main 函数必须位于文件的开头B) 每个语句必须单独一行C) 标识符中大小写字母没有区别D) 宏定义#define 部分不一定要放在程序的最开头位置答案:D【4】以下for 循环的执行次数是。
for(x=0,y=0;(y=123)&&(x<4);x++)A)是无限循环B)循环次数不定C)执行4次D)执行3次答案:C分析:若要判断(y=123)&&(x<4)假,因为y=123永远为真,所以只需要判断x<4为假即可。
【5】对for( 表达式1;; 表达式3) 可理解为。
A)for( 表达式1;0; 表达式3)B)for( 表达式1;1; 表达式3)C)for( 表达式1; 表达式1; 表达式3)D)for( 表达式1; 表达式3; 表达式3)答案: B【6】设有程序段int k=10;while(k=0) k=k-1;则下面描述中正确的是。
A)while循环执行10次 B )循环是无限循环C)循环体语句一次也不执行D)循环体语句执行一次答案:C分析:因为k=0 为假,所以程序不执行其后的语句。
【7】C语言中while和do-while 循环的主要区别是。
A) do-while 的循环体至少无条件执行一次B) while 的循环控制条件比do-while 的循环控制条件严格C) do-while 允许从外部转到循环体内D) do-while 的循环体不能是复合语句答案:A【8】设有:int a=1,b=2,c=3,d=4,m=2,n=2; 执行(m=a>b)&&(n=c>d) 后n 的值为。
大一c语言期中考试题和答案大一C语言期中考试题和答案一、选择题(每题2分,共20分)1. C语言中,以下哪个选项是合法的整型常量?A. 0x12B. 0x12.0C. 0x12.5D. 0x12L答案:A2. 以下哪个是C语言中的关键字?A. mainB. includeC. intD. input答案:C3. 在C语言中,以下哪个选项不能用作变量名?A. _nameB. 2namesC. name$D. name答案:C4. 以下哪个选项是C语言中的合法字符串常量?A. "Hello, World!"B. 'Hello, World!'C. "Hello, World!", "Another String"D. "Hello, World!"答案:D5. 在C语言中,以下哪个选项是正确的函数声明?A. int function();B. int function int x;C. int function(int x);D. int function x;答案:C6. C语言中,以下哪个选项是正确的数组声明?A. int array[10];B. int array[];C. int array[10] = {1, 2, 3};D. All of the above答案:D7. 在C语言中,以下哪个选项是正确的指针声明?A. int *ptr;B. int *ptr = 0;C. int ptr = 0;D. Both A and B答案:D8. C语言中,以下哪个选项是正确的条件语句?A. if (x > 0)printf("Positive");B. if x > 0printf("Positive");C. if (x > 0)printf("Positive")elseprintf("Non-positive");D. Both A and C答案:D9. 在C语言中,以下哪个选项是正确的循环语句?A. for (int i = 0; i < 10; i++)printf("%d ", i);B. for (int i = 0; i <= 10; i++)printf("%d ", i);C. for (i = 0; i < 10; i++)printf("%d ", i);D. All of the above答案:D10. C语言中,以下哪个选项是正确的函数调用?A. void function();B. function();C. function(10);D. Both B and C答案:D二、填空题(每题2分,共20分)1. C语言中,用于定义一个整型变量的关键字是______。
《 C语言》课程期中考试试卷一. 在A B C D四个选项中,选择一个正确的答案填入括号内( )1、用char定义的变量在IBM PC机中能表示的数的范围是:A) 0 ~+255 B) 0 ~+65535C) -128 ~+127 D) 只能存字符,不能存数( )2、设有int k=2; 则执行printf(“%d”,k++);的输出为:A) 0 B) 1 C) 2 D) 3()3、在while(!x)中,!x与______等价。
A) x==0 B) x!=0 C) x==1 D) x!=1()4、设有声明int value=‟5‟;,则执行下列选项的赋值语句后,value的值不等于5的是_____。
A.) value=value - ‟0‟; B) value=value - 0x30;C) value=value - 49; D) value=value - ‟\060‟;()5、如int k=7;float x=2.5,y=4.7; 则表达式 x+k%3*(int)(x+y)%2/4 运算后的值是:A) 0 B) 2 C) 2.5 D) 2.75( ) 6、若有int a,b;则语句:printf("%d",(a=2)&&(b=-2);的输出结果是:A)无输出 B)结果不确定 C)-1 D)1( ) 7、设有int a=2; 则执行printf("%d",5>a>1);的输出为:A)0 B)1 C)2 D)3( ) 8、执行语句c=(a=2,a+1,b=a++);后, a,b,c的值依次为:A)2,3,4 B)3,3,3 C)4,5,4 D)3,2,2( )9、以下程序的输出结果是A)2 0 B)3 1 C)3 2 1 D)2 1 0main( ){ int n=4;while(n--)printf("%d ",--n);}( )10、给出以下定义:char x[ ]="abcdef";char y[ ]={'a','b','c','d','e','f'};则正确的叙述为A) 数组x和数组y等价 B) 数组x和数组y的长度相同C) 数组x的长度大于数组y的长度 D) 数组x的长度小于数组y的长度( )11、若对一个函数调用在前, 定义在后,C语言将视其返回值为__________类型。
大一c语言期中考试题和答案豆丁网C语言期中考试试卷一、选择题(每题2分,共40分)1. 以下哪个选项是C语言的关键字?A. intB. integerC. INTD. Integer答案:A2. C语言中,哪个函数用于计算并返回两个整数相加的结果?A. add()B. sum()C. plus()D. addint()答案:B3. 在C语言中,以下哪个是正确的字符串定义?A. char str[5] = "Hello";B. char str[5] = {'H', 'e', 'l', 'l', 'o'};C. char str[5] = "Hello"; // 错误,字符串长度超过数组大小D. char str[] = "Hello";答案:D4. C语言中,以下哪个是正确的二维数组定义?A. int array[2][3] = {{1, 2, 3}, {4, 5, 6}};B. int array[2][3] = {1, 2, 3, 4, 5, 6};C. int array[2][3] = {{1, 2, 3}, {4, 5, 6, 7}}; // 错误,数组元素不匹配D. int array[2][3] = {1, 2, 3, 4, 5, 6, 7}; // 错误,数组元素不匹配答案:A5. C语言中,以下哪个是正确的函数定义?A. int func(int a, int b) { return a + b; }B. int func(int a; int b) { return a + b; } // 错误,分号使用不当C. int func(int a, int b) { return a - b; }D. int func(int a, b) { return a + b; } // 错误,b未指定类型答案:A6. C语言中,以下哪个是正确的条件语句?A. if (a > b) then { /* code */ }B. if (a > b) { /* code */ }C. if a > b { /* code */ } // 错误,缺少括号D. if (a > b) then { /* code */ } // 错误,then关键字不正确答案:B7. C语言中,以下哪个是正确的循环语句?A. for (int i = 0; i < 10; i++) { /* code */ }B. for i = 0 to 10 { /* code */ } // 错误,C语言中没有to关键字C. for (int i = 0; i < 10; i++) { /* code */ }D. for i = 0; i < 10; i++ { /* code */ } // 错误,缺少括号答案:C8. C语言中,以下哪个是正确的函数调用?A. func(5, 3);B. func(5; 3); // 错误,分号使用不当C. func(5, 3);D. func(5, 3);答案:A9. C语言中,以下哪个是正确的宏定义?A. #define PI 3.14159B. #define PI = 3.14159; // 错误,宏定义中不应包含等号和分号C. #define PI 3.14159D. #define PI 3.14159答案:A10. C语言中,以下哪个是正确的结构体定义?A. struct Point { int x, y; };B. struct Point { int x; int y; };C. struct Point { int x, y; };D. struct Point { int x; int y; };答案:B11. C语言中,以下哪个是正确的指针定义?A. int *p;B. int *p;C. int *p;D. int *p;答案:A12. C语言中,以下哪个是正确的文件操作函数?A. fopen()B. open()C. create()D. file()答案:A13. C语言中,以下哪个是正确的递归函数定义?A. int factorial(int n) { if (n == 0) return 1; else return n * factorial(n - 1); }B. int factorial(int n) { if (n == 0) return 1; else return n * factorial(n - 1); }C. int factorial(int n) { if (n == 0) return 1; else return n * factorial(n - 1); }D. int factorial(int n) { if (n == 0) return 1; else return n * factorial(n - 1); }答案:A14. C语言中,以下哪个是正确的枚举定义?A. enum Color { Red, Green, Blue };B. enum Color { Red, Green, Blue };C. enum Color { Red, Green, Blue };D. enum Color { Red, Green, Blue };答案:A15. C语言中,以下哪个是正确的联合体定义?A. union Data { int i; float f; char ch; };B. union Data { int i; float f; char ch; };C. union Data { int i; float f; char ch; };D. union Data { int i; float f; char ch; };答案:A16. C语言中,以下哪个是正确的位运算符?A. &B. |C. ^D. ~答案:D17. C语言中,以下哪个是正确的位段定义?A. struct BitFlags { unsigned int : 1; unsigned int flag2 : 1; };B. struct BitFlags { unsigned int flag1 : 1; unsigned int flag2 : 1; };C. struct BitFlags { unsigned int flag1 : 1; unsigned int flag2 : 1; };D. struct BitFlags { unsigned int flag1 : 1; unsigned int flag2 : 1; };答案:B18. C语言中,以下哪个是正确的动态内存分配函数?A. malloc()B. alloc()C. new()D. mem()答案:A19. C语言中,以下哪个是正确的动态内存释放函数?A. free()B. dealloc()C. delete()D. mem()答案:A20. C语言中,以下哪个是正确的预处理指令?A. #includeB. includeC. #importD. import答案:A二、填空题(每题2分,共20分)1. C语言中,用于定义整型变量的关键字是 ________。
C语言期中测试(开卷测试,答案写在白纸上)一.选择题(1)C语言源程序名的后缀是A).exe B).C C).obj D).cpp(2)以下选项中,合法的一组C语言数值常量是A)028 B)12. C).177 D)0x8A5e-3 0Xa23 4c1.5 10,000-0xf 4.5e0 0abc 3.e5(3)以下正确的字符串常量是A)"\\" B)’abc’C)OlympicGames D)"" (4) 表达式3.6-5/2+1.2+5%2的值是A)4.3 B)4.8 C)3.3 D)3.8(5)以下关于long、int和short类型数据占用内存大小的叙述中正确的是A)均占4个字节B)根据数据的大小来决定所占内存的字节数C)由用户自己定义D)由C语言编译系统决定(6)以下叙述中错误的是A)对于double类型数组,不可以直接用数组名对数组进行整体输入或输出B)数组名代表的是数组所占存储区的首地址,其值不可改变C)当程序执行中,数组元素的下标超出所定义的下标范围时,系统将给出“下标越界”的出错信息D)可以通过赋初值的方式确定数组元素的个数(7)以下叙述中错误的是A)C语言源程序经编译后生成后缀为.obj的目标程序B)C程序经过编译、连接步骤之后才能形成一个真正可执行的二进制机器指令文件C)用C语言编写的程序称为源程序,它以ASCII代码形式存放在一个文本文件中D)C语言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令(8)以下数组定义中错误的是A)int x[][3]={0};B)int x[2][3]={1,2,3,4,5,6};C)int x[][3]={{1,2,3},{4,5,6}};D)int x[2][]={1,2,3,4,5,6};(9)若函数调用时的实参为变量时,以下关于函数形参和实参的叙述中正确的是A)函数的实参和其对应的形参共占同一存储单元B)形参只是形式上的存在,不占用具体存储单元C)同名的实参和形参占同一存储单元D)函数的形参和实参分别占用不同的存储单元(10)有以下程序段int j;float y;char name[50];scanf("%2d%f%s",&j,&y,name);当执行上述程序段,从键盘上输入55566 7777abc后,y的值为A)55566.0 B)566.0 C)7777.0 D)566777.0(11)有以下程序#include<stdio.h>main(){int y=9;for( ; y>0;y--)if(y%3= =0)printf("%d",--y);}程序的运行结果是A)741 B)963 C)852 D)875421 (12) 有以下程序#include<stdio.h>int a=4;int f(int n){int t=0;static int a=5;if(n%2){a=6;t+=a++;}{ a=7;t+=a++;}return t+a++;}void main(){int s=a,i=0;for(;i<2;i++)s+=f(i);printf ("%d\n",s);}程序运行后的输出结果是A)24 B)28 C)32 D)36(13) 要求通过while循环不断读入字符,当读入字母N时结束循环。
c期中考试题库及答案一、选择题(每题2分,共20分)1. 以下哪个选项是C语言中合法的变量名?A. 2variableB. variable2C. variable-nameD. variable_name答案:B2. 在C语言中,哪个关键字用于声明一个函数?A. intB. functionC. voidD. return答案:C3. C语言中,哪个运算符用于比较两个值是否相等?A. ==B. !=C. =D. <=答案:A4. 下列哪个选项是C语言中的逻辑运算符?A. &&B. ||C. %D. ++答案:A5. 在C语言中,哪个函数用于计算一个数的绝对值?A. abs()B. fabs()C. sqrt()D. pow()答案:A6. C语言中,哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A7. 在C语言中,哪个函数用于将字符串复制到另一个字符串?A. strcpy()B. strncpy()C. strcat()D. strncat()答案:A8. C语言中,哪个函数用于将整数转换为字符串?A. atoi()B. itoa()C. strtol()D. sprintf()答案:B9. 在C语言中,哪个关键字用于声明一个指针?A. int*B. pointerC. *D. ptr答案:C10. C语言中,哪个函数用于计算一个数的平方根?A. sqrt()B. pow()C. abs()D. log()答案:A二、填空题(每题2分,共20分)1. C语言中,用于声明一个整型变量的关键字是________。
答案:int2. C语言中,用于声明一个浮点型变量的关键字是________。
答案:float 或 double3. C语言中,用于声明一个字符型变量的关键字是________。
答案:char4. C语言中,用于声明一个布尔型变量的关键字是________。