C语言模拟题
C语言模拟试题

一、选择题(每小题2分,共30分)1.在程序中可以用来作为变量名的合法的标识符是:________。
A、intB、stu_1tC、2a1D、#552.以下叙述正确的是。
A、在C程序中main函数必须位于程序的最前面B、一个C程序只能有一个函数C、一个C程序有并且只能有一个main函数D、在对一个C程序进行编译的过程中,可发现注释中的拼写错误3.已知:char str1, str2[10]; 选择正确的输入语句:________。
A、scanf ("%s%c", &str1,str2);B、scanf ("%s%s", &str1,str2);C、scanf ("%c%c", &str1,str2);D、scanf ("%c%s", &str1,str2); 4.判断char型变量CH是否为小写字母的正确表达式。
A、‟a‟<=CH<=‟z‟B、(CH>=‟a‟)&(CH<=‟z‟)C、(CH>=‟a‟)&&(CH<=‟z‟)D、(…a‟<=CH)AND(…z‟>=CH)5.已知int x=10,y=20,z=30;以下语句执行后x,y,z的值分别是。
if(x>y)z=x;x=y;y=z;A、x=10,y=20,z=30B、x=20,y=30,z=30C、x=20,y=30,z=10D、x=20,y=30,z=206.设有程序段int k = 10 ;while ( k = 0 ) k = k - 1 ; 以下描述正确的是。
A、循环体语句一次也不执行。
B、循环是无限循环。
C、while 循环语句执行十次。
D、循环体语句执行一次。
7.以下程序段中与语句k=a>b?1:0;功能等价的是。
A、if (a>b) k=1;B、if (a>b) k=0;C、k=0; if (a>b) k=1;D、k=1; if(a>b) k=0;8. 如果int a=5,b=8则a>b?(a+b):(b-a)的值为(d )A、5B、8C、13D、39. 已知 int b; 则对指针变量正确的说明和初始化是:______A、int *pb=b;B、int pb=&b;C、int *pb=&b;D、int pb=b;10.C语言中while和do_while循环的主要区别是。
C语言模拟题

一.D A C A A B C B A B A A A D C二.TFTFT TFFTF TFFFT FFTTF三. 3 4,4 1 0 0 递归 b 20四1.【参考代码】double y=0;int i;for(i=0; i<=m; i++)y+=1.0/(i+5);return(y);2.【参考代码】int i,max,min;max=min=a[0];for(i=1;i<n;i++)if(a[i]>max) max=a[i];else if(a[i]<min) min=a[i];return(max*min);五1.【参考答案】for (k=4; k<=n; k++)【参考答案】a=b;【参考答案】return d;2.【参考答案】void fun(char *str, char ch )【参考答案】if ( *str == '\0' )【参考答案】str[1] = '\0';六1.【参考答案】i=1【参考答案】200【参考答案】f12.【参考答案】a,bb,a【参考答案】x>yy<x一单选1.下面四个选项中,均是不合法的用户标识符的选项是()。
A、float la0 _AB、A P_0 doC、_123 temp intD、b-a goto int2.表达式18/4*sqrt(4.0)/8值的数据类型为()。
A、doubleB、floatC、intD、不确定3.设:long w=65535,t=7654321;根据下面的输出结果,正确的程序段是( ).w=65535,t=7654321endA、printf("w=%5d,t=%7d\n",w,t);printf("%s","end');B、printf("w=%5ld,t=%7ld",w,t);printf("%c","end");C、printf("w=%5ld,t=%7ld\n",w,t);printf("%s","end");D、printf("w=%5u,t=%7u\n",w,t);printf( "end");4.选择结构中的条件与循环结构中循环成立的条件,在写法上可以是任一表达式,但其值只能被判断为“真”或“假”。
专升本考试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语言分类模拟题562_真题(含答案与解析)-交互

二级C语言分类模拟题562(总分43.5, 做题时间90分钟)选择题1.有以下程序:#include<stdio,h>main( ){ int i,j,x=0;for(i=0;i<2;i++){ x++;for(j=0;j<=3;j++){ if(j%2==0)continue;x++;}x++;}printf("x=%d\n",x);}程序的运行结果是______。
SSS_SINGLE_SELA x=4B x=6C x=8D x=12分值: 1答案:C[解析] 第一次循环:i=0,执行x++后x=1,执行内层循环j=0,由于j%2!=0时才执行x++,即只有j取1和3时,执行x++,此时x=1+1+1=3,跳出内层循环,执行下一条x++,x=4,第二次循环:x=1时,重复上述循环,共执行两次循环,故x最终结果是4*2=8。
2.软件按功能可以分为应用软件、系统软件和支撑软件(或工具软件)。
下面属于应用软件的是______。
SSS_SINGLE_SELA 学生成绩管理系统B C语言编译程序C UNIX操作系统D 数据库管理系统分值: 1答案:A[解析] 软件按功能可以分为:应用软件、系统软件、支撑软件。
操作系统、编译程序、汇编程序、网络软件、数据库管理系统都属于系统软件。
所以B、C、D选项都是系统软件,只有A选项是应用软件。
3.下面程序的输出结果是______。
#include<stdio.h>main(){char a[]={"a","b","c","d","f","g"},*p;p=a;printf("%c\n",*p+4);}SSS_SINGLE_SELA .aB .bC .eD .f分值: 2答案:C4.下列关于栈的叙述正确的是______。
C语言程序设计模拟题

C语言程序设计模拟题1.由C语言编写的代码程序()。
A.可直接执行B.是一个源程序C.经过编译即可执行D.经过编译解释才能执行【答案】B。
解析:C语言编写的代码程序是一个源程序,C语言编写的代码程序需要经过编译、连接、解释才能执行。
2.按照C语言规定的用户标识符命名规则,不能出现在标识符中的是()。
A.大写字母B.中划线C.数字字符D.下划线【答案】B。
解析:C语言的自定义标识符只能有字母、数字、下划线。
3.下列选项中,不能用作标识符的是()。
A._1234_B._1_2C.int_2_D.2_int_【答案】D。
解析:标识符只能以字母或下划线开头。
4.以下选项中合法的用户标识符是()。
A.longB._2TestC.3DmaxD.A.dat【答案】B。
解析:A为关键字,C开头只能是字母或下划线,D标识符中只能有字母、数字、下划线。
5.以下不能定义为用户标识符的是()。
A.MainB._0C._intD.sizeof【答案】D。
解析:sizeof为关键字,不能用作用户标识符。
6.下列定义变量的语句错误的是()。
A.int _int;B.double int_;C.char For;D.float US$;【答案】D。
解析:标识符只能有字母、数字、下划线。
7.在C语言中,合法的实型常数是()。
A.5E2.0B.E-3C.2E0D.1.3E【答案】C。
解析:实型常量e的前面要有数,e的后面为整数。
8.在C语言中,合法的实型常数是()。
A.1.2E0.5B.3.14159EC.5E-3D.E15【答案】C。
解析:实型常量e的前面要有数,e的后面为整数。
9.以下选项中,不能作为合法常量的是()。
A.1.234e04B.1.234e0.4C.1.234e+4D.1.234e0【答案】B。
解析:实型常量e的前面要有数,e的后面为整数。
10.以下不合法的数值常量是()。
A.011B.1e1C.8.0E0.5D.0xab【答案】C。
国家二级C语言机试(C语言基础知识)模拟试卷20

国家二级C语言机试(C语言基础知识)模拟试卷20(总分:60.00,做题时间:90分钟)一、选择题(总题数:30,分数:60.00)1.我们所写的每条C语句,经过编译最终都将转换成二进制的机器指令。
关于转换以下说法错误的是(分数:2.00)A.一条C语句可能会被转换成多条机器指令B.一条C语句对应转换成一条机器指令√C.一条C语句可能会被转换成零条机器指令D.某种类型和格式的C语句被转换成机器指令的条数是固定的解析:解析:由C语言编写的程序,通过编译、链接转换成可以让机器识别的01二进制指令。
这些二进制指令命令机器计算,这些就是机器指令,而C语言的语句条数和机器指令的条数不是一对一的关系。
2.以下选项中不属于C语言程序运算符的是(分数:2.00)A.sizeofB.()C.<> √D.&&解析:解析:sizeof为测试内存的运算符,()为算术运算符,&&为逻辑运算符。
而<>不是C语言的运算符,C语言中!=表示不等于。
3.若变量已正确定义并赋值,以下不能构成C语句的选项是(分数:2.00)A.A=a+b;B.B++;C.a=a+b √D.A?a:b;解析:解析:C语言语句的表示为分号,不加分号的表达式不能看成C语句。
4.以下叙述中正确的是(分数:2.00)A.程序必须包含所有三种基本结构才能成为一种算法B.如果算法非常复杂,则需要使用三种基本结构之外的语句结构,才能准确表达C.只有简单算法才能在有限的操作步骤之后结束D.我们所写的每条C语句,经过编译最终都将转换成二进制的机器指令√解析:解析:C语句构成了函数,函数构成的程序,经过编译转换成二进制代码后可以运行,算法是指为解决某个特定问题而采取的确定且有限的步骤,可以利用代码来描述算法,而算法+数据结构才是程序,结构化的程序由顺序结构、循环结构和选择结构三种基本结构组成。
由这三种基本结构组成的算法可以解决任何复杂的问题,反之则不一定,所有算法必须在有限步骤后结束。
C语言程序设计A模拟考核试题及解答

C 语言程序设计A 》模拟考核试题及解答一、选择题1.由C 语言源程序文件编译而成的目标文件的缺省扩展名为( ) 。
A. cppB. exeC. objD. C2. C 语言程序的基本模块为( )。
A. 表达式B. 标识符C. 语句D. 函数3.x>0 || y==5 的相反表达式为( )。
A. x<=0 || y!=5B. x<=0 && y!=5C. x>0 || y!=5D. x>0 && y==54.枚举类型中的每个枚举常量的值都是一个( )。
A. 整数B. 浮点数C. 字符D. 逻辑值5.循环语句“ for(int i=0; i<n; i++) S; ”中循环体S 被执行的次数为( )A. 1B. n-1C. nD. n+16.在下面的while 循环语句中,其循环体被执行的次数为( )。
int i=0,s=0; while(s<20) {i++; s+=i;}A. 4B. 5C. 6D. 77.若定义了函数double *function(), 则返回值类型为( )。
A. 实数型B. 实数指针型C. 函数指针型D. 数组型8.若用数组名作为函数调用的实参,传递给形参的是( )。
A. 数组的首地址B. 数组中第一个元素的值C. 数组中全部元素的值D. 数组元素的个数9. 假定a 为一个整型数组名,则元素a[4] 的地址比该数组的首地址大( ) 个字节。
A. 4B. 8C. 16D. 3210. 下列给字符数组赋初值时,正确的是( )。
A. char s1[]="abcdef";B. char s2[4]="abcd";C. char s3[2][3]={"abc","xyz"};D. char s4[4][]={'a','x','s','t'};A. char *p=s;B. char *p=&s;C. char *p;p=*s;D. char *p; p=&s;11.要使p 指向二维整型数组a[10][20] ,p 应定义为()。
大连理工大学C语言模拟题机房题库单选、判断、填空(分章节_共十一章)

第一部分注意事项1. 请对照《课件》和《教材》进行练习。
2. 熟悉键盘,注意竖杠“|”和反斜杠“\”的位置,请在西文状态下输入。
3. 单选题、判断题和填空题要会验证。
当输入汉字时,可能输入提示框是灰色的,再按一次中英文切换键即可。
4. 程序填空题不能删除注释/*****FILL*****/,但必须删除标记符号_____,否则编译通不过。
如,for(i=10; ____; i++)。
5. 程序改错题不能删除注释/*****ERROR*****/,仅在其下一行进行修改。
6. 程序填空题和程序改错题存盘即可。
但最好编译运行一下,编译时会自动存盘。
编译帮助检查语法错误,运行帮助检查逻辑错误。
7. 程序设计题不能删除注释/****BEGIN*****/和/****END*****/,只能在两个标记符之间编写程序。
必须保证编译、链接、运行都正确。
8. 以上程序题中不能更改程序结构和其它位置的程序代码,可以忽略其它程序位置的警告。
9. 如果VC发生死机(见图,可用按钮都变成灰色),请结束VC进程,再继续答题或重答。
结束VC进程的方法:先进入“任务管理器”;再选下面一种方法操作:方法1:选择“应用程序”标签,选中“VC任务”,按“结束任务”。
方法2:选择“进程”标签,选中“MSDEV.EXE”,按“结束进程”。
10. 提交试卷并看到成绩后再离开。
11.出现问题立即请示监考老师。
12.请记住几个常用的函数。
数学函数:sin(),cos(),tan(),log(),exp(),pow(),sqrt(),abs(),fabs()字符串函数:strcat(),strcpy(),strcmp(),strlen(),strlwr(),strupr()输入输出函数:printf(),scanf(),putchar(),getchar(),puts(),gets(),fopen(),fclose(),fprintf(),fscanf(),feof()其它实用函数:rand(),exit()第二部分概念题第1章概述1. C程序是的基本组成单位是_______. 函数2. C语言的程序结构分为______、选择结构和循环结构。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C语言模拟题(一)一、选择题1、以下字符中不是转义字符的是( A)。
A '\c'B、'\b'C '\\'D '\a'2、设a=12,且a定义为整型变量。
执行语句a+=a-=a*=a;后a的值为(A)A 0B、144C 132D 123、已定义floatx=1.25,y=3.37;根据下面的输出结果,正确的输出语句是(C).y+x=4.62,y-x=2.12A printf("y+x=%6.2f,y-x=%6.2f\n",y+x,y-x);B、printf("y+x=%f,y-x=%f\n",y+x,y-x);,lC printf("y+x=%.2f,y-x=%.2f\n",y+x,y-x);D printf("y+x=%5.2f,y=%5.2f\n",y+x,y-x);4、执行下面程序段后,b的值为(A).ints=35;chart='A';intb;b=((s&&4)&&(tv'a'));B、3C 2D 05k是整型,则以下程序段的执行结果是:(B)k=-3;if(kv=O)printf("####") elseprintf("&&&&");A ####B、有语法错误,无结果C &&&&D ####&&&& 6设j和k都是int类型,则下面的for循环语句(D) for(j=0,k=0;jv=9&&k!=876;j++)scanf("%d",&k);A最多执行9次B、是无限循环C循环体一次也不执行D最多执行10次7以下正确的描述是(A).A、只能在循环体内和switch语句内使用break语句B、continue语句的作用是终止整个循环的执行C从多层嵌套的外层循环中退出时,只能使用goto语句D在循环体内使用break和continue语句的作用相同8以下能对一维数组a进行正确初始化的语句是(B)。
A inta[1O]={};B、inta[]={0};C inta[10]={10*1};D inta[10]=(0,0,0,0,0)9以下正确的说法是(A).A、函数的类型决定返回值的类型B、定义函数时,形参的类型说明可以放在函数体内C return后面不能为表达式D如果形参与实参的类型不一致,以实参类型为准10以下程序的输出结果为(C。
intfunc(intx,inty){return(x+y);}main(){inta=1,b=2,c=3,d=4,e=5;printf("%d\n",func((a+b,b+c,c+a),(d+e)));}A 9B、15C 13D函数调用出错11以下正确的说法是(D)oA用户若需调用标准库函数,调用前不必使用预编译命令将该函数所在文件包括到用户源文件中,系统自动去调B、用户若需调用标准库函数,调用前必须重新定义C系统根本不允许用户重新定义标准库函数D用户可以重新定义标准库函数,若如此,该函数将失去原有含义12在#include命令中,文件名可用双引号或尖括号括起来,对于二者的下列说法中正确的是(A).A用尖括号时,直接按系统标准方式检索文件目录.B、用双引号时,直接按系统标准方式检索文件目录.C用双括号和尖括号时,都不检查源文件所在的文件目录.D以上说法都不对.13当说明一个结构体变量时系统分配给它的内存是( D)oA成员中占内存量最大者所需的容量B、结构中第一个成员所需内存量C结构中最后一个成员所需内存量D各成员所需内存量的总和14以下程序段给数组所有的元素输入数据,请选择正确答案填入(C)#include<stdio.h>main(){inta[1O],i=O;'while(i<1O)scanf("%d",( _____ ));}A &a[i+1]B、a+iC a+(i++)D &a[++i]15在定义构造数据类型时,不能( A)。
A、末尾不写分号B、说明存储类型C初始化D说明变量二、判断题1、在C程序中,%作为运算符时,是只能用于整数运算。
丫2、若有inti=10,j=2; 则执行完i*=j+8;后i的值为28。
格式字符%g选用%e或%f格式中输出宽度较长的一种格式输出实数.N3、格式字符%g选用%e或%f格式中输出宽度较长的一种格式输出实数.N4charc[6]="abcde";printf("%3s",c) 表示输出的字段的宽度为3位,如果被输出的数据的位数大于3,只输出3位数.N5设x=1,y=2,z=3,则逻辑表达式x-y>z&&y!=z的值为0.丫6运算符的级别由高向低依次为!->算术运算符-> 关系运算符-> 逻辑运算符-> 赋值运算符.Y7已知a=3,b=4,c=5,则逻辑表达式!(a>b)&&!c||1 的值为1.Y8for循环语句只能用于循环次数确定的情况下.N9break语句能够终止当前进行的多层循环.Nh10for循环的三个表达式都可以省略.Y11下列程序段是否正确:Ninta[10];a++;kl12定义一维数组的形式为:类型说明数组名[表达式],其中表达式必须是整型常量.N13字符串"Dalian"在内存中的存储长度是7.N14字符串"Dalian"在内存中的存储长度是7.N15字符处理函数strcpy(str1,st⑵的功能是把字符串1接到字符串2的后面.Nlllllllll16静态局部变量是在编译时被初始化的,故它只被赋初值一次.Y17被包含文件是在编译时先单独生成目标文件,然后连接到可执行文件中去.N18 假设有inta[1O],*p; 则p=&a[0]与p=a 等价Y19typedef可以定义生成新的数据类型.N20用fopen("file","r+"); 打开的文件"file" 可以进行修改。
丫三、填空题1、设a、b、c为整型数,且a=2、b=3、c=4,则执行完以下语句:a*=16+(b++)-(++c); 后,a 的值是__28___.2若所用变量都已正确定义,请填写以下程序段的输出结果_OK____ .for(i=1;i<=5;i++);printf("OK");3c语言表达式!(4>=6)&&(3<=7)的值是__1___.4设x和y均为int型变量,则以下for循环中的scanf语句最多可执行的次数是 ___________ 3__. for(x=0,y=0;y!=123&&x<3;x++)scanf("%d", &y);5按内存排列顺序,数组chara[2]中的所有元素是a[0]和__a[1]_.6函数不可以进行嵌套定义,但可以进行嵌套__调用—.7将数组a的首地址赋给指针变量p的语句是_p=a; ______ .8设有以下结构类型说明和变量定义,则变量a在内存所占字节数是__30 ____ 。
structstud {charnum[6];floats[4];doubleave;}a,*p;四、程序设计1、【程序设计】功能:把20个随机数存入一个数组,然后输出该数组中的最小值。
其中确定最小值的下标的操作在fun函数中实现,请给出该函数的定义。
#include"stdio.h"#include"stdlib.h"#defineVSIZE20 intvector[VSIZE];intfun(intlist[],intsize){} main(){inti;voidNONO();for(i=0;i<VSIZE;i++){vector[i]=rand();printf("Vector[%d]=%6d\n",i,vector[i]);}i=fun(vector,VSIZE);printf("\nMininum:Vector[%d]=%6d\n",i,vector[i]);NONO();}voidNONO(){inti,t;FILE*fp;fp=fopen("out.dat","w");for(i=0;i<VSIZE;i++){fprintf(fp,"Vector[%d]=%6d\n",i,vector[i]);}t=fun(vector,VSIZE);fprintf(fp,"\nMininum:Vector[%d]=%6d\n",t,vector[t]);fclose(fp);}2、功能:求k ! ( k 〈 13),所求阶乘的值作为函数值返回(要求使用递归)----------------------------------------------- */#include"stdio.h"#include"conio.h"/********* Begin********** /**********End **********{/*********Begj n**********//********** End **********}main(){intm;voidTestFunc();printf("Enterm:");scanf("%d",&m);printf("\nTheresultis%ld\n",fun(m)); TestFunc();}voidTestFunc(){FILE*IN,*OUT;ints;intt;longo;IN=fopen("in.dat","r");if(IN==NULL){printf("ReadFileError");}OUT=fopen("out.dat","w");if(OUT==NULL){printf("WriteFileError");}for(s=1;s<=5;s++){fscanf(IN,"%d",&t);fprintf(OUT,"%ld\n",o);}fclose(IN);fclose(OUT);}五、程序改错1、功能:求1到10的阶乘的和。