专升本C语言程序设计模拟试卷C3

合集下载

专升本-模拟C语言试题-03

专升本-模拟C语言试题-03

专升本-模拟C语⾔试题-03⼀、单项选择题(共25⼩题,每题2分,共50分)以下每⼩题列出的四个备选答案中只有⼀个符合题⽬要求,请将正确答案填⼊“单项选择题答题表”对应的格中,未填⼊答题表,错选或多选均不得分。

1.⼀个C程序的执⾏是从A. 本程序的main函数开始,到main函数结束B. 本程序⽂件的第⼀个函数开始,到本程序⽂件的最后⼀个函数结束C. 本程序的main函数开始,到本程序⽂件的最后⼀个函数结束D. 本程序⽂件的第⼀个函数开始,到本程序main函数结束2.在C语⾔中,变量a、b均为整型,则表达式(a=2,b=5,b--,a+b)的值是A. 7B. 8C. 6D. 23.下列字符序列中,合法的字符串常量是A. PiB. "Pi"C. 'Pi'D. '\n'4.已知ch是char型变量,下列不正确...的赋值语句是A. ch=10+28;B. ch='\0';C. ch='7'+'9';D. ch='b-a';5.设有变量定义int i,j=7,*p=&i与表达式i=j等价的表达式是A. i=*pB. i=&*pC. i=**pD. *p=*&jlong fib(int n){ if(n>2) return(fib(n-1)+fib(n-2));else if(n==2) return(2);else return(1);}main(){ printf("%d\n",fib(4)); }A. 3B. 4C. 5D. 67.以下对⼀维整型数组a的正确说明是A. int a(l0);B. int n=l0, a[n];C. int n;D. #define SIZE 10scanf(“%d”,&n); int a[n]; int a[SIZE];8.与if(w);中表达式w等价的表⽰是A. w==0B. w==1C. w!=0D. w!=19.以下对⼆维数组a进⾏正确初始化的是A. int a[2][3]={{1,2},{3,4},{5,6}};B. int a[][3]={1,2,3,4,5,6};C. int a[2][]={1,2,3,4,5,6};D. int a[2][]={{1,2},{3,4}};10.以下程序段的输出结果是char c[5]={'a','b','\0','c','\0'};printf("%s",c);A. 'a' 'b'B. abC. ab\0cchar x[]="programming";char y[]="fortran";while(x[i]!='\0'&&y[i]!='\0')if(x[i]==y[i]) printf("%c", );else i++;A. x[i]B. y[i]C. x[++i]D. y[i++]12.以下程序段的输出结果是int a[6]={0,1,2,3,4,5},*p=a;printf("%d\n",*(p+3));A. 0B. 3C. 2D. 413.逻辑运算符两侧运算对象的数据类型A. 只能是0和1B. 只能是0或⾮0正数C. 只能是整型或字符型数据D. 可以是任何类型的数据14.在“⽂件包含”预处理语句的使⽤形式中,当#inlcude后⾯的⽂件名⽤“”(双引号)括起时,寻找被包含⽂件的⽅式是A. 直接按系统设定的标准⽅式搜索⽬录B. 先在源程序所在⽬录搜索,再按系统设定的标准⽅式搜索C. 仅仅搜索源程序所在⽬录D. 仅仅搜索当前⽬录15.以下错误的描述是A. 函数调⽤可以出现在执⾏语句中B. 函数调⽤可以出现在⼀个表达式中C. 函数调⽤可以作为⼀个函数的实参D. 函数调⽤可以作为⼀个函数的形参16.设有以下程序段:则下列叙述正确的是A. s和p完全相同B. 数组s中的内容和指针变量p中的内容相等C. s数组长度和p所指向的字符串长度相等D. *p与s[0]相等17.若有定义int a[10],*p=a;则p+5表⽰A. 元素a[5]的地址B. 元素a[5]的值C. 元素a[6]的地址D. 元素a[6]的值18.若有以下定义说明:struct student{ int age;int num; }std,*p;p=&std则以下对结构体变量std中成员age的引⽤⽅式不正确...的是A. std.ageB. p->ageC. (*p).ageD. *p.age19.与 y=(x>0?1:x<0?-1:0);的功能相同的if语句是A. if(x>0) y=1;B. if(x)else if(x<0) y=-1; if(x>0) y=1;else y=0; else if(x<0) y=-1;else y=0;C. y=-1;D. y=0;if(x) if(x>=0)if(x>0) y=1; if(x>0) y=1;else if(x==0) y=0; else y=-1;else y=-1;#includefor(a=1,b=1;a<=100;a++){ if(b>=20) break;if(b%3==1) { b+=3;continue; }b-=5;}printf("%d\n",a);}A. 7B. 8C. 9D. 1021.若有以下说明和语句,则下⾯表达式中的值为1002的是struct student{ int num;int age;};struct student stu[3]={{1001,20},{1002,19},{1003,21}};struct student *p;p=stu;A.(p++)->ageB.(++p)->numC.(*p).numD.(*++p).age22.设x,y,z都是int型变量,且x=3,y=4,z=5,则下⾯表达式中值为0的是A. 'x'&&'y'B. x<=yC. x||y+z&&!yD.!(x23.下⾯程序的功能是在输⼊的⼀批整数中求出最⼤者,输⼊0时结束,请选择填空#includemain(){ int a,max=0;scanf("%d",&a);scanf("%d",&a);}printf("%d\n",max);}A. a==0B. aC.!a==1D. !a24.设char *s="\ta\017bc";则指针变量s指向的字符串所占的字节数是A. 9B. 5C. 6D. 725.在说明⼀个联合体变量时,系统分配给它的存储空间是A. 该联合体中第⼀个成员需存储空间B. 该联合体中最后⼀个成员所需存储空间C. 该联合体中占⽤最⼤存储空间的成员所需存储空间D. 该联合体中所有成员所需存储空间的总和⼆、填空题(共10题,每题1分,共10分)请按照试题中对应的标号顺序填写到答题表中1.⼀个C源程序中⾄少包括⼀个。

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

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

c语言程序设计专升本试题及答案一、单项选择题(每题2分,共20分)1. 下列关于C语言的描述,正确的是:A. C语言是一种编译型语言B. C语言是一种解释型语言C. C语言是一种汇编语言D. C语言是一种机器语言答案:A2. 在C语言中,用于定义一个结构体的关键字是:A. structB. unionC. enumD. typedef答案:A3. 下列哪个选项不是C语言中的控制语句?A. ifB. elseC. switchD. goto答案:C4. 在C语言中,用于定义一个整型数组的语句是:A. int array[10];B. int array[];C. int array[10]={0};D. int array=10;答案:A5. 下列哪个函数用于计算数组中元素的个数?A. sizeofB. countC. lengthD. size答案:A6. 在C语言中,用于声明一个函数的关键字是:A. functionB. defC. declareD. int答案:C7. 下列哪个选项不是C语言中的运算符?A. %B. &&C. ||D. ++答案:B8. 在C语言中,用于定义一个指针变量的语句是:A. int *p;B. int p*;C. int *p=0;D. int p=*0;答案:A9. 下列哪个选项是C语言中合法的字符常量?A. 'A'B. "A"C. 65D. '65'答案:A10. 在C语言中,用于从文件中读取数据的函数是:A. scanfB. printfC. getcharD. fgets答案:D二、填空题(每题2分,共20分)1. 在C语言中,用于定义一个整型变量的关键字是________。

答案:int2. C语言中,用于定义一个浮点型变量的关键字是________。

答案:float3. 在C语言中,用于定义一个字符型变量的关键字是________。

江苏省五年一贯制专转本《C语言程序设计》模拟试卷三(晓庄)

江苏省五年一贯制专转本《C语言程序设计》模拟试卷三(晓庄)

江苏省五年一贯制专转本《C语言程序设计》模拟试卷三(晓庄)一、填空題(每题2分,共20分)1、一个C语言程序的开发过程包括:编辑、,连接和运行4个步骤2、设intx=9,y=8;表达式x==y+1的结果是。

3、若a=3,b=4,c=5,则表达式a||(b=c)&&b==c的值是。

4、执行下面程序段后,k值是。

k=1;n=263;do{k*=n%10;n/=10}while(n);5、以下程序输入123456<CR>后的执行结果是。

#include<stdio.h>main(){inta,b;scanf("%2d%3d",&a,&b);printf("a=%d,b=%d\n",a,b);}6、设x,y,z均为int型变量,请写出描述“x或y中有一个小于z”的表达式是:7、.以下程序的运行结果是。

main(){if(2*2==5<2*2==4)printf(“T”);elseprintf(“F”);}8、设有程序片断:switch(grade){case‘A':printf(“85—100\n”);case‘B':printf(“70—84n”);case‘C':printf(“60—69\n”);case‘D':printf(“<60\n”);default:printf(“error!\n”);}若grade的值为'C',则输出结果是9、下面程序的运行结果是.#include<stdio.h>main(){inta,s,n,count;a=2;s=0;n=1;count=1;while(count<=7){n=n*a;s=s+n;++count;}printf("s=%d",s);}10、以下程序的输出结果是intk,n,m;n=10;m=1;k=1;while(k++<=n)m*=2;printf(“%d\n”,m);二、单项选择题(每题2分,共40分)1、能将高级语言编写的源程序转换成目标程序的是。

专升本C语言程序设计模拟试卷C3

专升本C语言程序设计模拟试卷C3

计算机科学与技术专业《基础知识》模拟试卷三(考试时间150分钟,满分300分,共三部分)第一部分 C语言程序设计(共100分)一、单项选择题(本大题共30小题,每小题2分,共60分)1. 下列各选项中,均是合法有效的标识符的是【】A. 3dayB.lower C.day_3D.abSum_days abcde student_name_oflotus_1_2_3 defaultM.D.john2. 若希望当A的值为奇数时,表达式的值为“真”,A的值为偶数时,表达式的值为“假”。

则以下不能满足要求的表达式是A.A%2==1B.!(A%2==0)C.!(A%2)D.A%23. 下列程序的输出结果是【】#include <stdio.h>void main(){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++; break;}printf(“%d,%d\n”,a,b);}A.1,1B.2,1C.1,0D.2,24. 以下关于switch语句和break语句的描述中,只有正确的是【】A.在switch语句中必须使用break语句B.在switch语句中,可以根据需要使用或不使用break语句C.break语句只能用于switch语句中D.break语句是switch语句的一部分5. 下面程序的输出是【】。

main(){int x=0x23;printf(“%d\n”,- -x);}A.18B.19C.34D.356. 下列函数的输出结果是【】#include <stdio.h>int f1(int xb){extern int xa;return (xa * xb);}void main(void){extern int xb;int xa=5;printf(“xa=%d,xb=%d,result=%d”,xa,xb,f1(xa));return 0;}int xa=3,xb=4;A. 3,4,12B. 5,4,20C. 5,4,15D. 3,4,157. c语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是A. 地址传递B. 由实参传给形参,再由形参传回给实参C. 单向值传递D. 由用户指定传递方式8. 以下程序中调用scanf函数给变量a输入数值的方法是错误的,其原因是【】void main(){int *p,a;p=&a;scanf(“%d”,*p);……}A.*p表示的是指针变量p的地址B.*p表示的是变量a的值,而不是变量a的地址C.*p表示的是指针变量p的值D.*p只能用来说明p是一个指针变量9. 下列程序段的输出结果是【】。

C语言程序设计专升本精选样卷及答案

C语言程序设计专升本精选样卷及答案

C语言程序设计专升本精选样卷(总分100分,考试时长90分钟)一、单项选择题(每小题2 分,共 40分)1、在c语言中,要求运算数必须是整型或字符型的运算符是________。

A、&&B、&C、!D、||【答案】B2、已有定义: int x=3,y=4,z=5;则表达式 !(x+y)+z-1&&y+z/2 的值是________。

A、0B、1C、2D、-1【答案】B3、if语句的基本形式为:if(表达式)语句,其中"表达式"________。

A、可以是任意合法的表达式B、必须是逻辑表达式C、必须是逻辑表达式或关系表达式D、必须是关系表达式【答案】A【解析】本题考查if表达式。

if(表达式)中的表达式可以为任何合法的表达式,一般情况下为逻辑、条件表达式,需要注意的是,当等号(==)误写为赋值号(=)时不会报错的,但是其值恒为1。

4、break语句的正确的用法是________。A、无论在任何情况下,都中断程序的执行,退出到系统下一层。B、在多重循环中,只能退出最靠近的那一层循环语句。C、跳出多重循环。D、只能修改控制变量。【答案】B5、下列程序的运行结果是________。

void fun(int*a,int*b) {int *k;k=a;a=b;b=k;}main(){int a=3,b=6,*x=&a,*y=&b;fun(x,y);printf("%d%d",a,b);}A、63B、36C、编译出错D、0 0【答案】B【解析】在C语言中,调用函数时是将实参复制一份给形参,所以无论怎么改变形参的值,都不会影响到实参,即传值调用。

即使形参是指针变量,也没有改变C语言传值调用这个事实,实参指针也还是复制了一份给形参指针,无论怎么改变形参指针的内容(注意:不是形参指针所指向的内容),也不会影响实参指针的内容。

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

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

专升本c语言程序设计试题及答案一、选择题(每题2分,共20分)1. C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. 下列关于C语言函数的描述,哪个是正确的?A. 函数可以没有返回值B. 函数不能有多个返回值C. 函数必须有返回值D. 函数不能有参数答案:A3. 在C语言中,以下哪个运算符用于计算两个整数的和?A. %B. +C. ==D. &&答案:B4. C语言中,以下哪个关键字用于定义一个指针?A. intB. floatC. charD. *答案:D5. 在C语言中,以下哪个选项是正确的注释方式?A. // 这是注释B. /* 这是注释 */C. // 这是注释/* 这是注释 */D. // 这是注释/* 这是注释 */答案:B6. 下列关于C语言数组的描述,哪个是错误的?A. 数组可以是多维的B. 数组下标从0开始C. 数组的大小在编译时确定D. 数组可以动态分配答案:D7. 在C语言中,以下哪个选项是正确的文件操作函数?A. fopenB. fcloseC. fprintfD. All of the above答案:D8. C语言中,以下哪个选项是正确的字符串定义方式?A. char str[] = "Hello";B. char str[5] = "Hello";C. char str[] = {'H', 'e', 'l', 'l', 'o'};D. All of the above答案:D9. 在C语言中,以下哪个选项是正确的条件语句?A. if (condition)B. switch (condition)C. case (condition)D. All of the above答案:A10. 下列关于C语言循环的描述,哪个是正确的?A. for循环可以嵌套B. while循环不能嵌套C. do-while循环至少执行一次D. All of the above答案:C二、填空题(每题2分,共20分)1. 在C语言中,定义一个整型变量的正确语法是:___________。

c3c语言考试题目

c3c语言考试题目

三━━━━━━━━━━━━━━━一、判断共10题(共计20分)━━━━━━━━━━━━━━━第1题(2.0分)题号:1237结构体类型不是系统固有的,它需要用户在程序中先定义,后使用.答案:Y第2题(2.0分)题号:1245函数的递归就是反复地进行函数调用.答案:N第3题(2.0分)题号:1279循环结构while、do while、for不可以互相嵌套. 答案:N第4题(2.0分)题号:1139结构体变量占用的内存单元的长度是其各成员占用长度之和.答案:Y第5题(2.0分)题号:1143在给变量命名时,C语言不区分大小写字母,即认为SUM和sum是同一个变量.答案:N第6题(2.0分)题号:1232在C语言中,INT可以被定义为变量名.答案:Y第7题(2.0分)题号:1256while循环结构和do while循环结构的执行结果完全相同.答案:N第8题(2.0分)题号:1243'm' 是C的合法常量,而"m"不是C的合法常量.答案:N第9题(2.0分)题号:1100假设有int a[10], *p;则p=&a[0]与p=a等价答案:Y第10题(2.0分)题号:1226在循环程序设计时,当while循环的条件表达式为常数1时,必然构成死循环.答案:N━━━━━━━━━━━━━━━━━二、单项选择共15题(共计30分)━━━━━━━━━━━━━━━━━第1题(2.0分)题号:159执行下面程序段从键盘给变量a,b,c输入值,正确的输入格式为( ).int a,c; char b;scanf("%3d %c%2d",&a,&b,&c);A:123,d,45B:123 d 45C:123d45D:a=123b=dc=45答案:C第2题(2.0分)题号:508int a=1,b=2,c=3;if(a>c)b=a;a=c;c=b;则c的值为()。

专升本考试《C语言程序设计》试卷

专升本考试《C语言程序设计》试卷

专升本考试《C语言程序设计》试卷一、选择题1.C语言中,sizeof运算符返回的是什么类型的值?A. intB. floatC. doubleD. size_t正确答案:D. size_t解析:sizeof运算符返回的是size_t类型的值,用于表示内存中对象的大小。

2.下列哪个选项是C语言的关键字?A. declareB. assignC. typedefD. define正确答案:C. typedef解析:typedef是C语言的关键字,用于定义自定义类型。

3.在C语言中,scanf函数的返回值是什么?A. 读取到的字符的个数B. 读取到的整数C. 读取到的字符串D. 读取失败的标志正确答案:A. 读取到的字符的个数解析:scanf函数返回成功读取到的字符的个数。

4.下面哪个选项是C语言中的逻辑与运算符?A. &&B. ||C. !D. &正确答案:A. &&解析:C语言中,逻辑与运算符用&&表示。

5.在C语言中,以下哪个选项是正确的注释符号?A. //B. ||C. ##D. //正确答案:A. //解析:在C语言中,//用于表示单行注释。

二、填空题1.标准库函数strlen用于计算给定字符串的长度。

2.for循环的语法结构为:for (初始表达式; 条件表达式; 增量表达式) {循环体}3.C语言中,用于输出到标准输出设备的关键字是printf。

4.在C语言中,用于定义常量的关键字是const。

5.scanf函数中,格式化控制符%d用于读取整数。

三、编程题1.编写一个C程序,实现输入两个整数,输出它们的和。

```c #include <stdio.h>int main() { int a, b; printf(。

C语言程序设计(专升本)试卷附答案

C语言程序设计(专升本)试卷附答案

C语言程序设计开/闭卷:闭专业测绘工程班级室主任签字:一、1、以下叙述中正确的是A) C语言比其他语言高级B) C语言可以不用编译就能被计算机识别执行C) C语言以接近英语国家的自然语言和数学语言作为语言的表达形式D) C语言出现的最晚,具有其他语言的一切优点2、C语言中用于结构化程序设计的三种基本结构是A) 顺序结构、选择结构、循环结构B) if、switch、breakC) for、while、do-whileD) if、for、continue3、在一个C程序中A) main函数必须出现在所有函数之前B) main函数可以在任何地方出现C) main函数必须出现在所有函数之后D) main函数必须出现在固定位置4、下列叙述中正确的是A) C语言中既有逻辑类型也有集合类型B) C语言中没有逻辑类型但有集合类型C) C语言中有逻辑类型但没有集合类型D) C语言中既没有逻辑类型也没有集合类型5、下列关于C语言用户标识符的叙述中正确的是A)用户标识符中可以出现在下划线和中划线(减号)B)用户标识符中不可以出现中划线,但可以出现下划线C)用户标识符中可以出现下划线,但不可以放在用户标识符的开头D)用户标识符中可以出现在下划线和数字,它们都可以放在用户标识符的开头6、以下叙述中正确的是A)构成C程序的基本单位是函数B)可以在一个函数中定义另一个函数C)main()函数必须放在其他函数之前D)C函数定义的格式是K&R格式7、应用数据库的主要目的是A)解决数据保密问题B)解决数据完整性问题C)解决数据共享问题D)解决数据量大的问题8、一个C语言程序是由A)一个主程序和若干子程序组成B)函数组成C)若干过程组成D)若干子程序组成9、请选出可用作C语言用户标识符的是A)void,define,WORDB)a3_b3,_123,IFC)FOR,--abc,CaseD)2a,Do,Sizeof10、下列各数据类型不属于构造类型的是A)枚举型B)共用型C)结构型D)数组型11、在16位C编译系统上,若定义long a;,则能给a赋40000的正确语句是A)a=20000+20000;B)a=4000*10;C)a=30000+10000;D)a=4000L*10L12、以下不正确的叙述是A)在C程序中,逗号运算符的优先级最低B)在C程序中,APH和aph是两个不同的变量C)若a和b类型相同,在计算了赋值表达式a=b后b中的值将放入a中,而b 中的值不变D)当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值13、sizeof(float)是A)一个双精度型表达式B)一个整型表达式C)一种函数调用D)一个不合法的表达式14、若x,i,j和k都是int型变量,则计算表达式x=(i=4,j=16,k=32)后,x的值为A)4B)16C)32D)5215、设有定义:int n=0,*p=&n,**q=&p,则下列选项中正确的赋值语句是A)p=1;B)*q=2;C)q=p;D)*p=5;16、以下叙述中正确的是A)C程序的基本组成单位是语句B)C程序中的每一行只能写一条语句C)简单C语句必须以分号结束D)C语句必须在一行内写完17、计算机能直接执行的程序是A)源程序B)目标程序C)汇编程序D)可执行程序18、以下关于宏的叙述中正确的是A)宏名必须用大写字母表示B)宏定义必须位于源程序中所有语句之前C)宏替换没有数据类型限制D)宏调用比函数调用耗费时间19、以下选项中正确的定义语句是A)double a;b; B) double a=b=7C)double a=7,b=7; D)double,a,b;20、以下不能正确表示代数式2ab/cd 的C语言表达式是A)2*a*b/c/d B)a*b/c/d*2C)a/c/d*b*2 D)2*a*b/c*d21、C源程序中不能表示的数制是A)二进制B)八进制C)十进制D)十六进制22、检查软件产品是否符合需求定义的过程称为A)确认测试B)集成测试C)验证测试D)验收测试23、数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。

专升本考试C语言模拟试题及参考答案【三篇】

专升本考试C语言模拟试题及参考答案【三篇】

专升本考试C语言模拟试题及参考答案【三篇】一.单项选择题1.以下定义语句中准确的是(C)A)char a='A'b='B'; B)float a=b=10.0;C)int a=10,*b= &a; D)float *a,b=&a;2.下列运算符中,优先级的是(A)。

A. ->B.++C. &&D. =3.表达式!(x>0&&y>0)等价于(A)。

A. ! (x>0) || ! (y>0)B. !x>0 || !y>0C.!x>0 && !y>0D. !(x>0) && ! (y>0)4.有以下程序main(){ int a=666,b=888;printf( "%d\n",a,b);}程序运行后的输出结果是(B)A) 错误信息B)666 C)888 D)666,8885.有以下程序main(){ int i;for(i=0;i -10&& x-y10 D)(x-y)*(x-y)k=2;B.(*p).k=2;C.x .k=2D.x->k=29.不准确的赋值或赋初值的方式是(B)。

A.char str[ ]=”string”;B.char str[10];str=”string”;C.char *p=”string”;D.char *p; p=”string”;10.设程序中不再定义新的变量,写出在函数main中能够使用的所有变量为:(B)#includeint z;int p(int x){static int y;return (x+y);}void main( ){int a,b;printf(“%dn”, p(a));………}A. a,bB. a,b,zC.a,b,y,zD.a,b,x,y,z11.有以下程序main(){ int i=0,x=0;for (;;){if(i==3||i==5) continue;if (i==6) break;i++;s+=i;};printf( "%d\n",s);}程序运行后的输出结果是(D)A)10 B)13 C)21 D) 程序进入死循环12.有以下程序main(){ char a,b,c,d;scanf( "%c,%c,%d,%d",&a,&b,&c,&d);printf( "c,%c,%c,%c\n",a,b,c,d);若运行时从键盘上输入:6,5,65,66。

c本科三试题及答案

c本科三试题及答案

c本科三试题及答案一、单项选择题(每题2分,共20分)1. 以下哪个选项是C语言中合法的变量名?A. 2variableB. variable2C. _variableD. variable-2答案:C2. 在C语言中,以下哪个关键字用于声明函数?A. intB. voidC. returnD. function答案:B3. C语言中,以下哪个选项是正确的字符串定义?A. char str[] = "Hello";B. char str[] = 'Hello';C. char str[] = {"Hello"};D. char str = "Hello";答案:A4. 在C语言中,以下哪个选项表示逻辑与运算?A. &&B. ||C. !D. =答案:A5. 以下哪个选项是C语言中合法的数组声明?A. int array[] = {1, 2, 3};B. int array[] = (1, 2, 3);C. int array[] = {1; 2; 3};D. int array[] = 1, 2, 3;答案:A6. C语言中,以下哪个函数用于将字符串转换为浮点数?A. atoiB. atofC. itoaD. sprintf答案:B7. 在C语言中,以下哪个选项是正确的注释方式?A. // This is a commentB. /* This is a comment */C. //* This is a commentD. /* This is a comment */答案:A8. C语言中,以下哪个选项是正确的文件包含指令?A. #include <stdio.h>B. #include "stdio.h"C. #include <stdio>D. #include "stdio"答案:A9. 在C语言中,以下哪个选项表示无限循环?A. while(1)B. for(;;)C. do{}while(1)D. A和B答案:D10. C语言中,以下哪个选项用于定义一个结构体?A. structB. struct{}C. struct nameD. struct{}答案:A二、填空题(每题2分,共20分)1. C语言中,______关键字用于定义一个宏。

专升本c语言模拟试题及答案

专升本c语言模拟试题及答案

专升本c语言模拟试题及答案一、选择题(每题2分,共20分)1. C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. 下列关于C语言函数的描述中,哪个是正确的?A. 函数可以没有返回值B. 函数必须有返回值C. 函数不能有参数D. 函数不能返回结构体答案:A3. 在C语言中,以下哪个运算符用于取模运算?A. %B. /C. *D. -答案:A4. 下列关于指针的描述中,哪个是错误的?A. 指针可以指向任何类型的数据B. 指针可以作为函数的参数C. 指针可以作为函数的返回值D. 指针不能进行算术运算答案:D5. 在C语言中,以下哪个选项是正确的?A. 变量名区分大小写B. 变量名不区分大小写C. 变量名可以以数字开头D. 变量名可以包含空格答案:A6. C语言中,以下哪个选项是合法的数组声明?A. int arr[10];B. int arr[10] = {0};C. int arr = 10;D. int arr[] = {1, 2, 3};答案:A7. 下列关于C语言预处理指令的描述中,哪个是正确的?A. #include 用于包含库文件B. #define 用于定义宏C. #ifdef 用于条件编译D. 以上都是答案:D8. 在C语言中,以下哪个选项是正确的?A. switch语句不能嵌套B. switch语句可以嵌套C. switch语句中不能使用breakD. switch语句中可以使用continue答案:A9. 下列关于C语言中循环的描述中,哪个是错误的?A. for循环可以无限循环B. while循环可以无限循环C. do-while循环可以无限循环D. 循环中不能使用break语句答案:D10. 在C语言中,以下哪个选项是正确的?A. 变量的声明必须在函数的开始处B. 变量的声明可以在函数的任何地方C. 变量的声明必须在函数的结束处D. 变量的声明只能在函数的中间答案:B二、填空题(每题2分,共20分)1. 在C语言中,使用________运算符可以进行逻辑与运算。

专升本C语言试卷3

专升本C语言试卷3
21. 以下程序的输出结果是 (D) union myun { struct { int x, y, z; } u; int k; } a; main() { a.u.x=4; a.u.y=5; a.u.z=6; a.k=0; printf(%d\n”,a.u.x); } A) 4 B) 5 C) 6 D) 0
19. 以下程序的输出结果是(B) main() { char st[20]= “hello\0\t\\\”; printf(%d %d \n”,strlen(st),sizeof(st)); } A) 9 9 B) 5 20 C) 13 20 D) 20 20
20. 以下程序的输出结果是 (D) main() { int a, b; for(a=1, b=1; a<=100; a++) { if(b>=10) break; if (b%3= =1) { b+=3; continue; } } printf(“%d\n”,a); } A) 101 B) 6 C) 5 D) 4
28.有以下程序
main()
{ int m[][3]={1,4,7,2,5,8,3,6,9};
int i,j,k=2;
for(i=0;i<3;i++)
{ printf("%d",m[k][i]); }
}
执行后输出结果是:(C)
A) 4 5 6 B) 2 5 8 C) 3 6 9 D) 7 8 9
29.有以下程序
D)structtt[2]={{1,"A",62.5},{2, "B",75.0}};
27. 若变量 c 为 char 类型,则能正确判断出 c 为小写字母的表达式是( D )。

河北省普通高校专科接本科教育考:C语言程序设计模拟试卷及参考答案

河北省普通高校专科接本科教育考:C语言程序设计模拟试卷及参考答案

Ⅲ.模拟试卷及参考答案C 语言程序设计模拟试河北省普通高校专科接本科教育考试卷(考试时间:75分钟)(总分:150分)说明:请在答题纸的相应位置上作答,在其它位置上作答的无效。

一、单项选择题(本大题共20小题,每小题2分,共40分。

在每小题给出的四个备选项中,选出一个正确的答案,并将所选项前的字母填写在答题纸的相应位置上。

)1.以下选项中合法的用户标识符是()A.No-1、abc、sf_02B._int、2xy、countC.pc、_4866pc、vf_2D.++c、hj6_d、name 2.以下选项中正确的C 语言常量是()A. 2.46E-1.5B.0382C.'123'D.'\0'3.设x 为int 类型,其值为11,则表达式(x++*1/3)的值是()A.3B.4C.11D.124.以下说法中正确的是()A.C 语言程序总是从第一个定义的函数开始执行B.C 语言程序中,要调用的函数必须在main()函数中定义C.C 语言程序总是从main()函数开始执行D.C 语言程序中的main()函数必须放在程序的开始部分5.正确表示条件100≤x≤300的C 表达式是()A.100<=x<=300B.x>=100,x<=300C.x>=100&x<=300D.x>=100&&x<=3006.下列程序段的运行结果是()int x=10,y=20,z=30;if(x>y)z=x;x=y;y=z;printf("%d,%d,%d\n",x,y,z);A.10,20,30 B.20,30,10 C.20,30,30 D.20,30,207.C 语言中while 和do-while 循环的主要区别是()A.do-while 的循环体至少无条件执行一次B.while 的循环控制条件比do-while 的循环控制条件严格C.do-while 允许从外部转到循环体内D.do-while 的循环体不能是复合语句8.设有以下程序段:int k=0;while(k=1)k--;则以下叙述中正确的是()A.while 循环执行一次 B.该循环是无限循环C.循环体语句一次也不执行 D.该循环有语法错误9.以下选项中不能正确赋值的是()A.char*s;s="student";B.char*s="student";C.char s[]="student";D.char s[10];s="student";10.下列各定义数组的语句中不正确的是()A.int a[1][3];B.int x[2][2]={1,2,3,4};C.int x[2][]={1,2,4,6};D.int m[][3]={1,2,3,4,5};11.若有int a[10],*p=a;,且a数组已赋值,则与a[4]不等价的表达式为()A.p+4B.*(p+4)C.*(a+4)D.p[4]12.下列关于函数之间数据传递的叙述正确的是()A.当函数实参是指针类型时,被称为传值调用B.利用函数的返回值传递数据时只能传递一个数据C.参数的传址调用是一种双向数据传递方式D.参数的传值调用方式中,形参与实参具有相同的存储空间13.已定义以下函数的功能是()void fun(char*p2,char*p1){while((*p2=*p1)!='\0'){p1++;p2++;}}A.将p1所指字符串复制到p2所指内存空间B.将p1所指字符串的地址赋给指针p2C.对p1和p2两个指针所指字符串进行比较D.检查p1和p2两个指针所指字符串中是否有'\0'14.以下程序段中,变量c的二进制值是()char a=2,b=4,c;c=a+b<<2;A.00000011B.00010100C.00011100D.0001100015.表达式strlen("\x69\082\n")的值是()A.1B.2C.3D.416.C语言中局部变量的缺省存储类别是()A.staticB.autoC.registerD.extern17.以下程序的运行结果是()#include<stdio.h>#define M(x,y)x-yvoid main(){int a=4,b=3,c=5;printf("%d",a*M(b,c));}A.8 B.7 C.编译错误 D.-818.以下程序段运行后的结果是()int x=1,y=2,z=3;y+=x+=z;printf("%d",x<y?x++:y++);A.6B.5C.4D.319.若有以下说明和语句,对c数组元素的正确引用是()int c[4][5],*cp[4];for(int j=0;j<4;j++)cp[j]=c[j];A.cp+1B.*(cp+3)C.*(cp+1)+3D.cp[2][3] 20.有以下说明语句:struct{int a;double b;}stu;则下面叙述中不正确的是()A.struct是定义结构体类型的关键字B.struct stu是用户定义的结构体类型C.stu是用户定义的结构体变量D.a和b都是结构体成员名二、程序阅读题(本大题共5小题,每小题6分,共30分。

福建省专升本C语言模拟试题及参考答案

福建省专升本C语言模拟试题及参考答案

【导语】世界上欢迎的⼈从来不是那种不停地往后看着昨天的困苦悲伤失败和惨痛挫折的⼈,⽽是那种怀着信⼼希望勇⽓和愉快的求知欲⽽放眼未来的⼈。

以下是⽆忧考为⼤家整理的《福建省专升本C语⾔模拟试题及参考答案》希望对⼤家考试有帮助。

⼀、单项选择题1. ___D___是合法的⽤户⾃定义标识符。

A、 b-bB、floatC、D、 _isw2. 若变量已正确定义并赋值,表达式___B___不符合C语⾔语法。

A、a*b/c;B、3.14%2C、2, bD、a/b/c3. ___C__是不正确的字符常量。

A、'n'B、'1'C、"a"D、'101'4. 在 C 程序中,⽤___B__表⽰逻辑值“真”。

A、1B、⾮ 0 的数C、⾮ 1 的数D、⼤于0 的数5. __C____把x、y定义成float类型变量,并赋同⼀初值3.14。

A、float x, y=3.14;B、float x, y=2*3.14;C、float x=3.14, y=x=3.14;D、float x=y=3.14;6. 若变量已正确定义,表达式___C___的值不是2。

A、2&3B、1<<1C、a==2D、1^37. 若变量已正确定义,语句“if(a>b) k=0; else k=1;”和__C____等价。

A、k=(a>b)?1:0;B、k=a>b;C、k=a<=b;D、a<=b ? 0 : 1;8. 设变量定义为“int a, b;”,执⾏下列语句时,输⼊_D____,则a和b的值都是10。

scanf("a=%d, b=%d",&a, &b);A、10 10B、10, 10C、a=10 b=10D、a=10, b=109. 下列程序的输出结果是__D___。

fun(int a, int b, int c){ c =a*b; }void main( ){ int c;fun(2,3,c);printf(”%dn”,c);}A、0B、1C、6D、⽆法确定10. 在C程序中,若对函数类型未加说明,则函数的隐含类型为__A___。

C语言专升本考试(习题卷3)

C语言专升本考试(习题卷3)

C语言专升本考试(习题卷3)说明:答案和解析在试卷最后第1部分:单项选择题,共70题,每题只有一个正确答案,多选或少选均不得分。

1.[单选题]以下程序的功能是进行位运算Main(){ unsigned charA,b;A=7^3; b=~4&3;Printf("%d %d\n",a,b);}程序运行后的输出结果是______。

A)4 3B)7 3C)7 0D)4 02.[单选题]在位运算中,操作数每左移一位,其结果相当于()。

A)操作数乘以2B)操作数除以2C)操作数除以4D)操作数乘以43.[单选题]若要打开A盘上user子目录下名为abc.txt的文本文件进行读、写操作,下面符合此要求的函数调用是()。

A)fopen("A、\user\abc.txt","r")B)fopen("A、\\user\\abc.txt","r+")C)fopen("A、\user\abc.txt","rb")D)fopen("A、\\user\\abc.txt","w")4.[单选题]Int (*p)[6]; 它的含义为()。

A)具有6个元素的一维数组B)定义了一个指向具有6个元素的一维数组的指针变量C)指向整型指针变量D)指向6个整数中的一个的地址5.[单选题]能正确表示“当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)A)'cd'B)0.1e+6C)"\a"D)'\011'7.[单选题]设a、b和C都是int型变量,且a=3, b=0, c=5,则以下值为0的表达式是A)’a’&&’b’B)a&&b||cC)a&&b&&cD)a II b&&c8.[单选题]当a=1,b=3,c=5,d=4时,执行下面一段程序后,x的值是 。

专升本考试C语言模拟试题及参考答案

专升本考试C语言模拟试题及参考答案

精品文档以下程序的输出结果是【38】。

# include<stdio.h># define FUDGE(y) 2.84+y * H& O- |+ J7 K# define PR(a) printf(%d,(int)(a)) N/ L; u- b7 ~2 e# define PRINT1(a) PR(a);putchar('\n') s G/ V; K/ b main(){int x=2; PRINT1(FUDGE(5)*x); } 5 d0 r9 i) l* o【38】A) 11 B) 12 C) 13 D) 15 以下程序的输出结果是【39】。

# include<stdio.h> ! t4 W0 n1 S' U: \/ a main(){ int i=1,j=3; . y$ d8 u2 ^$ d @( N6 D printf(%d,i + + );{ int i=0; i+=j*2; printf(%d,%d,i,j); } 0 m( c( T/ T+ ^) E4 K `) v printf(%d,%d\n,i,j); }【39】A) 1,6,3,1,3 B) 1,6,3,2,3 C) 1,6,3,6,3 D) 1,7,3,2,3以下程序的输出结果是【40】。

5 m9 t p4 j+ n* ]- Z. s. C# include <stdio.h> ! T% B1 z! {1 k- _! S$ Y$ a3 g& w main() + D$ D* y |- e0 `- a- b{ int k=4,m=1,p; ; t5 {( ~1 G g* N3 L$ [9 w. x p=func(k,m); printf(%d,,p); p=func(k,m); printf(%d\n,p);} $ B( Z3 r5 ^* @5 C. ^) W func(a,b)int a,b; 7 J3 O, w- f' M6 |! t* N5 L0 Z9 t{ static int m=0,i=2; & {* n; N% g; Y; ]2 ^( K i+=m+1; m=i+a+b; return(m); } ) G( v+ J) z( O1 u【40】A) 8,17 B) 8,16 C) 8,20 D) 8,8 * Q& r) D4 `1 T m8 W+ h; _设有以下语句:! F/ p% T; V9 g( H' M1 j+ J char str[4][12]={aaa,bbb,ccccc,dddddd}, # d- q# S; \2 R3 `, v, A*strp[4]; int i; ! D2 Z1 D, h+ Z0 v3 o( E+ H: @for(i=0;i<4;i + + )strp[i]=str[i];【41】不是对字符串的正确引用,其中0≤k<4。

专升本-计算机应用基础模拟C语言试题-03

专升本-计算机应用基础模拟C语言试题-03

一、单项选择题(共25小题,每题2分,共50分)以下每小题列出的四个备选答案中只有一个符合题目要求,请将正确答案填入“单项选择题答题表”对应的格中,未填入答题表,错选或多选均不得分。

1.一个C程序的执行是从A. 本程序的main函数开始,到main函数结束B. 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C. 本程序的main函数开始,到本程序文件的最后一个函数结束D. 本程序文件的第一个函数开始,到本程序main函数结束2.在C语言中,变量a、b均为整型,则表达式(a=2,b=5,b--,a+b)的值是A. 7B. 8C. 6D. 23.下列字符序列中,合法的字符串常量是A. PiB. "Pi"C. 'Pi'D. '\n'4.已知ch是char型变量,下列不正确...的赋值语句是A. ch=10+28;B. ch='\0';C. ch='7'+'9';D. ch='b-a';5.设有变量定义int i,j=7,*p=&i;与表达式i=j等价的表达式是A. i=*pB. i=&*pC. i=**pD. *p=*&j6.有如下程序,该程序的输出结果是#include <stdio.h>long fib(int n){ if(n>2) return(fib(n-1)+fib(n-2));else if(n==2) return(2);else return(1);}main(){ printf("%d\n",fib(4)); }A. 3B. 4C. 5D. 67.以下对一维整型数组a的正确说明是A. int a(l0);B. int n=l0, a[n];C. int n;D. #define SIZE 10scanf(“%d”,&n); int a[n]; int a[SIZE];8.与if(w);中表达式w等价的表示是A. w==0B. w==1C. w!=0D. w!=19.以下对二维数组a进行正确初始化的是A. int a[2][3]={{1,2},{3,4},{5,6}};B. int a[][3]={1,2,3,4,5,6};C. int a[2][]={1,2,3,4,5,6};D. int a[2][]={{1,2},{3,4}};10.以下程序段的输出结果是char c[5]={'a','b','\0','c','\0'};printf("%s",c);A. 'a' 'b'B. abC. ab\0cD. ab c11.下面程序段是输出两个字符串中对应字符相等的字符,请填空char x[]="programming";char y[]="fortran";while(x[i]!='\0'&&y[i]!='\0')if(x[i]==y[i]) printf("%c", );else i++;A. x[i]B. y[i]C. x[++i]D. y[i++]12.以下程序段的输出结果是int a[6]={0,1,2,3,4,5},*p=a;printf("%d\n",*(p+3));A. 0B. 3C. 2D. 413.逻辑运算符两侧运算对象的数据类型A. 只能是0和1B. 只能是0或非0正数C. 只能是整型或字符型数据D. 可以是任何类型的数据14.在“文件包含”预处理语句的使用形式中,当#inlcude后面的文件名用“”(双引号)括起时,寻找被包含文件的方式是A. 直接按系统设定的标准方式搜索目录B. 先在源程序所在目录搜索,再按系统设定的标准方式搜索C. 仅仅搜索源程序所在目录D. 仅仅搜索当前目录15.以下错误的描述是A. 函数调用可以出现在执行语句中B. 函数调用可以出现在一个表达式中C. 函数调用可以作为一个函数的实参D. 函数调用可以作为一个函数的形参16.设有以下程序段:char s[]="china";char *p=s;则下列叙述正确的是A. s和p完全相同B. 数组s中的内容和指针变量p中的内容相等C. s数组长度和p所指向的字符串长度相等D. *p与s[0]相等17.若有定义int a[10],*p=a;则p+5表示A. 元素a[5]的地址B. 元素a[5]的值C. 元素a[6]的地址D. 元素a[6]的值18.若有以下定义说明:struct student{ int age;int num; }std,*p;p=&std;则以下对结构体变量std中成员age的引用方式不正确...的是A. std.ageB. p->ageC. (*p).ageD. *p.age19.与 y=(x>0?1:x<0?-1:0);的功能相同的if语句是A. if(x>0) y=1;B. if(x)else if(x<0) y=-1; if(x>0) y=1;else y=0; else if(x<0) y=-1;else y=0;C. y=-1;D. y=0;if(x) if(x>=0)if(x>0) y=1; if(x>0) y=1;else if(x==0) y=0; else y=-1;else y=-1;#include <stdio.h>main(){ int a,b;for(a=1,b=1;a<=100;a++){ if(b>=20) break;if(b%3==1) { b+=3;continue; }b-=5;}printf("%d\n",a);}A. 7B. 8C. 9D. 1021.若有以下说明和语句,则下面表达式中的值为1002的是struct student{ int num;int age;};struct student stu[3]={{1001,20},{1002,19},{1003,21}};struct student *p;p=stu;A.(p++)->ageB.(++p)->numC.(*p).numD.(*++p).age22.设x,y,z都是int型变量,且x=3,y=4,z=5,则下面表达式中值为0的是A. 'x'&&'y'B. x<=yC. x||y+z&&!yD.!(x<y)&&!z||023.下面程序的功能是在输入的一批整数中求出最大者,输入0时结束,请选择填空#include <stdio.h>main(){ int a,max=0;scanf("%d",&a);while( ){ if(max<a) max=a;scanf("%d",&a);}printf("%d\n",max);}A. a==0B. aC.!a==1D. !a24.设char *s="\ta\017bc";则指针变量s指向的字符串所占的字节数是A. 9B. 5C. 6D. 725.在说明一个联合体变量时,系统分配给它的存储空间是A. 该联合体中第一个成员需存储空间B. 该联合体中最后一个成员所需存储空间C. 该联合体中占用最大存储空间的成员所需存储空间D. 该联合体中所有成员所需存储空间的总和二、填空题(共10题,每题1分,共10分)请按照试题中对应的标号顺序填写到答题表中1.一个C源程序中至少包括一个。

c语言程序设计专升本练习题

c语言程序设计专升本练习题

c语言程序设计专升本练习题### C语言程序设计专升本练习题#### 一、选择题1. 在C语言中,下面哪个选项是正确的数据类型?A. 整型 intB. 浮点型 floatC. 字符型 charD. 所有选项都是正确的2. 下面哪个选项是C语言中的逻辑运算符?A. &&B. ||C. !D. 所有选项都是正确的3. 在C语言中,以下哪个函数用于计算字符串的长度?A. strlen()B. length()C. size()D. length_of()#### 二、填空题1. 在C语言中,定义一个整型变量 `x`,并初始化为10,正确的语句是:`int x = _____;`2. 如果要输出一个浮点数 `y` 的值,并且保留两位小数,可以使用以下语句:`printf("%_____f", y);`3. 在C语言中,表示逻辑“与”的运算符是:`_____`#### 三、编程题1. 编写一个C语言程序,计算并输出1到100之间所有偶数的和。

```c#include <stdio.h>int main() {int sum = 0, i;for (i = 2; i <= 100; i += 2) {sum += i;}printf("The sum of even numbers from 1 to 100 is: %d\n", sum);return 0;}```2. 编写一个C语言程序,实现字符串的逆序输出。

```c#include <stdio.h>#include <string.h>int main() {char str[100], reversed[100];int i, len;printf("Enter a string: ");gets(str);len = strlen(str);for (i = 0; i < len; i++) {reversed[i] = str[len - 1 - i];}reversed[len] = '\0';printf("Reversed string: %s\n", reversed);return 0;}```#### 四、简答题1. 简述C语言中数组和指针的区别。

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

计算机科学与技术专业《基础知识》模拟试卷三(考试时间150分钟,满分300分,共三部分)第一部分 C语言程序设计(共100分)一、单项选择题(本大题共30小题,每小题2分,共60分)1. 下列各选项中,均是合法有效的标识符的是【】A. 3dayB.lowerC.day_3D.abSum _days abcde student_name_of lotus_1_2_3 default M.D.john2. 若希望当A的值为奇数时,表达式的值为“真”,A的值为偶数时,表达式的值为“假”。

则以下不能满足要求的表达式是A.A%2==1B.!(A%2==0)C.!(A%2)D.A%23. 下列程序的输出结果是【】#include <stdio.h>void main(){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++; break;}printf(“%d,%d\n”,a,b);}A.1,1B.2,1C.1,0D.2,24. 以下关于switch语句和break语句的描述中,只有正确的是【】A.在switch语句中必须使用break语句B.在switch语句中,可以根据需要使用或不使用break语句D.break语句是switch语句的一部分5. 下面程序的输出是【】。

main(){int x=0x23;printf(“%d\n”,- -x);}A.18B.19C.34D.356. 下列函数的输出结果是【】#include <stdio.h>int f1(int xb){extern int xa;return (xa * xb);}void main(void){extern int xb;int xa=5;printf(“xa=%d,xb=%d,result=%d”,xa,xb,f1(xa));return 0;}int xa=3,xb=4;A. 3,4,12B. 5,4,20C. 5,4,15D. 3,4,157. c语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是A. 地址传递B. 由实参传给形参,再由形参传回给实参C. 单向值传递D. 由用户指定传递方式8. 以下程序中调用scanf函数给变量a输入数值的方法是错误的,其原因是【】void main(){int *p,a;p=&a;scanf(“%d”,*p);}A.*p表示的是指针变量p的地址B.*p表示的是变量a的值,而不是变量a的地址C.*p表示的是指针变量p的值D.*p只能用来说明p是一个指针变量9. 下列程序段的输出结果是【】。

int x=3;do{printf(“%2d\n”,x-=2);}while (!(――x))A. 1B. 1 -2C. 3 0D. 是死循环10. 若有语句:int a=4, *p=&a;下面均代表地址的一组选项是【】。

A. a,p,&*aB. *&a,&a,*pC. &a,p,&*pD. *&p,*p,&a11. 下面程序输出的结果是main(){ int i;int a[3][3]={1,2,3,4,5,6,7,8,9};for(i=0;i<3;i++)printf("%d ",a[2-i][i]);}A)1 5 9B)7 5 3C)3 5 7D)5 9 112. 下面函数的功能是char *fun(char *str1,char*str2){while((*str1)&&(*str2++=*str1++));return str2;A)求字符串的长度B)比较两个字符串的大小C)将字符串str1复制到字符串str2中D)将字符串str1接续到字符串str2中13. 下面函数调用语句含有实参的个数为func((exp1,exp2),(exp3,exp4,exp5));A)1 B)2 C)4 D)513. 下面程序段的运行结果是char *s="abcde";s+=2;printf("%d",s);A)cdeB)字符′c′C)字符′c′的地址D)无确定的输出结果14. 已有变量定义和函数调用语句:int a=25;print_value(&a);下面函数的正确输出结果是void print_value(int *x){printf("%d\n",++*x);}A)23B)24C)25D)2615. 当顺利执行了文件关闭操作时,fclose函数的返回值是A)-1B)TRUEC)0D)116. 设有如下定义char *s[2]={ "abcd","ABCD"};则下列说法错误的是A)s数组元素的值分别是"abcd"和"ABCD"两个字符串的首地址B)s是指针数组名,它含有两个元素分别指向字符型一维数组C)s数组的两个元素分别存放的是含有4个字符的一维字符数组中的元素D)s数组的两个元素中分别存放了字符′a′和′A′的地址17. 以下不能对二维数组a进行正确初始化的语句是B)int a[][3]={{1,2},{0}};C)int a[2][3]={{1,2},{3,4},{5,6}};D)int a[][3]={1,2,3,4,5,6};18. 有以下程序struct STU{ char num[10]; float score[3]; };main(){struct STU s[3]={{"20021",90,95,85},{"20022",95,80,75},{ "20023",100,95,90},},*p=s;int i; float sum=0;for(i=0;i<3;i++)sum=sum+p->score[i];printf("%6.2f\n",sum);}程序运行后的输出结果是A)260.00B)270.00C)280.00D)285.0019. 若有说明:int a[10];则对a数组元素的正确引用是A)a[10]B)a[3,5]C)a(5)D)a[10-10]20. 下面程序段中,输出*的个数是char *s="\ta\018bc";for(;*s!=′\0′;s++)printf("*");A)9B)5C)6D)721.设有如下函数fun (float x)printf("\n%d",x*x);}则函数的类型是A)与参数x的类型相同B)是voidC)是int型D)无法确定22. 有如下定义#define D 2int x=5;float y=3.83;char c=′D′;则下面选项中错误的是A)x++;B)y++;C)c++;D)D++;23. 以下程序段的执行结果为#define PLUS(X,Y)X+Ymain(){ int x=1,y=2,z=3,sum;sum=PLUS(x+y,z)*PLUS(y,z);printf("SUM=%d",sum);}A)SUM=9B)SUM=12C)SUM=18D)SUM=2824. C语言规定,函数返回值的类型是由A)return语句中的表达式类型所决定B)调用该函数时的主调函数类型所决定C)调用该函数时系统临时决定D)在定义该函数时所指定的函数类型所决定25. 下列程序的运行结果是void fun(int *a,int *b){ int *k;k=a;a=b;b=k;main(){ int a=2004, b=9,*x=&a,*y=&b;fun(x,y);printf("%d%d",a,b);}A)2004 9B)9 2004C)0 0D)编译时出错26. 下列程序是用来判断数组中特定元素的位置所在。

如果输入如下整数:876 675 896 101 301 401 980 431 451 777#include#includeint fun(int *s, int t, int *k){ int i;*k=0;for(i=0;i if(s[*k]return s[*k];}main(){int a[10]={ 876,675,896,101,301,401,980,431,451,777},k;clrscr();fun(a, 10, &k);printf("%d, %d\n ", k, a[k]);}则输出结果为A)7,431B)6C)980D)6,98027.下面程序应能对两个整型变量的值进行交换。

以下正确的说法是main(){int a=10,b=20;printf("(1)a=%d,b=%d\n",a,b);swap(&a,&b);}swap(int p,int q){int t;t=p;p=q;q=t;}A)该程序完全正确B)该程序有错,只要将语句swap(&a,&b);中的参数改为a,b即可C)该程序有错,只要将swap()函数中的形参p和q以及t均定义为指针(执行语句不变)即可D)以上说法都不对28. 有以下程序#includemain(){ char *p,*q;p=(char *)malloc(sizeof(char)*20); q=p;scanf("%s %s",p,q); printf("%s %s\n",p,q);}若从键盘输入:abc def<回车>,则输出结果是A)def defB)abc defC)abc dD)d d29.以下程序的输出结果是int f(){ static int i=0;int s=1;s+=i; i++;return s;}main(){ int i,a=0;for(i=0;i<5;i++)a+=f();printf("%d\n",a);}A)20C)25D)1530.有以下程序#includestruct NODE{ int num; struct NODE *next; };main(){ struct NODE *p,*q,*r;p=(struct NODE*)malloc(sizeof(struct NODE));q=(struct NODE*)malloc(sizeof(struct NODE));r=(struct NODE*)malloc(sizeof(struct NODE));p->num=10; q->num=20; r->num=30;p->next=q;q->next=r;printf("%d\n ",p->num+q->next->num);}程序运行后的输出结果是A)10B)20C)30D)40二、程序阅读题(本大题共4小题,每小题5分,共20分)阅读下列程序,将输出结果写到答题纸的相应位置。

相关文档
最新文档