C语言模拟试卷及答案
—1— 2011―2012 学年第一学期 《C语言程序设计》模拟试卷(B) 一、单项选择题(每题1分,共30分) 1.C语言程序总是从______开始执行。 A) 第一条语句 B) 第一个函数 C) 主函数 D) 子程序 2.以下选项中正确的C语言标识符是______。 A) a+b B) 3Dmax C) _25 D) %d 3.以下选项中正确表示字符型常量的是______。 A) '\t' B) "a" C) 'abc' D) '279' 4.以下选项中属于C语言基本数据类型的是______。 A) 逻辑型 B) 双精度型 C) 复数型 D) 集合型 5.已知:int a=8,b=5,c;,则执行语句c=a%b+0.3;后,c的值是______。 A) 1 B) 1.3 C) 3 D) 3.3
6.设在程序中的a,b,c均被定义为整型并且已赋予大于1的值,能正确表示代数式abc1的表达式是______。 A)1/a*b*c B)1/(a*b*c) C)1/a/b/(float)c D)1.0/a/b/c 7.已知字符'A'的ASCII码值为十进制数65,则执行语句printf("%c",'A'+2);后,输出结果是______。 A) A B) C C) 65 D) 67 8.已知:int i=1;,则执行语句printf("%d",i++);后,输出结果是______。 A) 1 B) 2 C) -1 D) -2 9.以下选项中,和语句x*=y+2;等价的是______。 A) x=x*y+2; B) y=x*(y+2); C) x=y+2*x; D) x=x*(y+2); 10.以下选项中能正确判断字符变量c不是大写字母的表达式是______。 A) c<'A' && c>'Z' B) !(c<'A' && c>'Z') C) c>='A' || c<='Z' D) !(c>='A' && c<='Z') 11.已知:float a=7.0,b=2.5;,则表达式(int)a/(int)b的值是______。 A) 2 B) 2.8 C) 3 D) 3.5 12.已知:int a,b,c;,若要给变量a、b、c输入数据,以下正确的输入语句是______。 A) scanf ("%d,%d,%d",a,b,c); B) scanf ("%d,%d,%d",&a;&b;&c); C) scanf ("%d,%d,%d",&a&b&c); D) scanf ("%d,%d,%d",&a,&b,&c); 13.已知:int a=1,b=2;,则执行语句printf("%d",a>b?a:b);后,输出结果是______。 A) 0 B) 1 C) 2 D) 以上都不正确 14.以下选项中叙述正确的是______。 A) 在switch语句中,不一定使用break语句 B) break语句必须与switch语句中的case配合使用 C) 在switch语句中必须使用default D) break语句只能用于switch语句中 15.执行以下程序后,输出结果是______。 #include void main() —2—
{ int a=3,b=-1,c=1; if (aif (b<0) c=0; else c++; printf("%d\n",c); } A) 0 B) 1 C) 2 D) 3 16.已知数学关系式x≥y≥z,以下选项中能正确表示该关系式的C语言表达式是______。 A) (x>=y)&&(y>=z) B) (x>=y)AND(y>=z) C) x>=y>=z D) (x>=y)||(y>=z) 17.已知:int i=5;,则执行语句while(i<8) i+=2;后,变量i的值是______。 A) 5 B) 7 C) 8 D) 9 18.执行以下程序后,输出结果是______。 #include void main( ) { int n=9; while(n>6) {n--;printf("%d",n);} } A) 987 B) 9876 C) 8765 D) 876 19.执行以下程序后,输出结果是______。 #include void main( ) { int i,s=0; for (i=1;i<=6;i++) { if(i%3==0) break; s+=i; } printf("%d\n",s); } A) 3 B) 6 C) 12 D) 21 20.已知:int x[3][3]={1,2,3,4,5,6,7,8,9};,则执行语句printf("%d",x[1][2]);的输出结果是______。 A) 2 B) 5 C) 6 D) 7 21.以下选项中能实现将两个字符串s1和s2连接起来的语句是______。 A) strcpy(s1,s2); B) strcat(s1,s2); C) strcmp(s1,s2); D) strlen(s1,s2); 22.C语言中,关于函数说法正确的是______。 A) 函数定义可以嵌套,但函数调用不可以嵌套 B) 函数定义不可以嵌套,但函数调用可以嵌套 C) 函数定义和函数调用均不可以嵌套 D) 函数定义和函数调用均可以嵌套 23.一个C语言源文件中定义的全局变量的作用域是______。 A) 本函数的全部范围 B) 本程序全部范围 C) 本文件全部范围 D) 从定义开始至本文件结束 24.执行以下程序后,输出结果是______。 —3—
#include void sub(int x,int y,int *z) { *z=y-x; } void main( ) { int a; sub(10,5,&a); printf("%d",a); } A) 5 B) -5 C) 0 D) 不确定 25.已知:int x,*p;,则以下赋值语句中正确的是______。 A) p=&x; B) p=*x; C) &x=*p; D) *p=*x; 26.已知:char str[ ]="Hello",*ptr =str;,则表达式*(ptr+5)的值为______。 A) 'o' B) '\0' C) 'o'的地址 D) 不确定 27.执行以下程序后,输出结果是______。 #include #define F(X) X+X void main( ) { int a=5; printf("%d",2*F(a)); } A) 5 B) 10 C) 15 D) 20 28.有定义:int n=0,*p=&n,**q=&p;则以下选项中,正确的赋值语句是______。 A) p=1; B) *q=2; C)q=p; D)*p=5; 29.已知: struct student { int age; int num; }stu,*p=&stu; 以下对结构体变量stu中成员age的非法引用是______。 A) stu.age B) (*p).age C) p->age D) p.age 30.已知:FILE *fp;int ch;,能将信息写入fp所指向文件的语句是_____。 A) fgetc(ch,fp); B) ch=fgetc(fp); C) fputc(ch,fp); D) ch=fputc(fp);
二、判断题(每题1分,共10分,正确划T,错误划F) 1.C语言对主函数main()放置的位置没有要求,放在文件头或文件尾或文件中间都可以。( ) 2.C语言程序一行只能写一个语句。( ) 3.C语言有三种结构化程序设计方法,分别为顺序结构、选择结构和循环结构。 ( ) 4.C语言要求对所用到的变量作强制定义,“先定义后使用”。( ) 5.for语句作为循环控制语句时,从语法上将其括号内各个表达式都可缺省,但表达式内的分号却不可以却省。( ) 6.C语言中字符's'和字符串"s"是等价的,两者都占用一个字节。( ) 7.在C语言中,程序的最小编译单位是源文件,最小功能单位是函数。( ) 8.在定义指针型变量时指定的基类型为该指针变量所指向的变量类型。( ) —4—
9.逗号表达式的值是第一个表达式的值。( ) 10.在发生函数调用时,主~被调函数中的参数可以是简单变量,也可以是数组名,当采用数组名作为参数时其数据传递方式为单向值传递。( )
三、填空题(每空2分,共20分) 1.数学式acb42写成C语言表达式是___________。 2.已知int a=10,b=15;,则表达式!a3.已知float x=1.234;,则执行语句printf("%.2f",x);后,输出结果是___________。 4.已知int a,b,c;,则执行语句a=5+(b=6,c=4);后,变量a的值是___________。 5.已知int x; for(x=10;x>4;x--);,则该循环共执行___________次。 6.已知float a[2][3];,则系统为数组a分配的存储空间是___________字节。 7.已知char *p="\\Good\tMorning!";,则表达式strlen(p)的值是___________。 8.设有函数调用语句f(x,(x,y,z));,则该调用语句中实参的个数是___________。 9.已知int a[5]={1,3,5,7,9},*p=a;,则表达式*p+3的值是___________。 10.已知: union { char c; float a; }test; 则sizeof(test)的值是___________。
四、阅读理解题(每题4分,共20分) 1. 以下程序的运行结果是______________。 #include void main( ) { int week=6; switch(week) { case 1: printf("Monday");break; case 2: printf("Tuesday");break; case 3: printf("Wednesday");break; case 4: printf("Thursday");break; case 5: printf("Friday");break; case 6: printf("Saturday");break; case 7: printf("Sunday");break; default:printf("Error"); } } 2. 以下程序的运行结果是______________。 #include void main( ) {
C语言模拟笔试题附答案
C语言模拟笔试题附答案C语言模拟笔试题(附答案)以下是店铺为您准备的C语言模拟笔试题,希望对您有所帮助!更多内容请关注店铺!1.编写函数fun(char*str),找出字符串str中ASCII值最大的字符。
主程序调用函数fun()求字符串中的最大字符并输出。
主程序如下:void main(){ char source[1024];4.一小球从一百米的高度自由落下,每次落地后反跳回原来的一半,再落下。
计算小球在第十次落地时,共经过多少米?第十次反弹多高?printf(“请输入一行英文字符串:\n”);gets(source);printf(“最大的字母是:%c”,fun(source));}char fun(char*str){ }2.写出下面程序的`输出结果:main(){ int h,j,k;5.编写函数fact(int n),计算n!编写函数sum(int n),调用函数fact(),计算:1!+2!+3!+……+n!。
编写主程序 main(),调用sum()函数计算:1!+2!+3!+……+n!。
for(h=0;h<=3;h++){ for(j=0;j<=2-h;j++) printf(" ");for(k=0;k<=2*h;k++) printf("*");printf("\n");}for(h=0;h<=2;h++){ for(j=0;j<=h;j++) printf(" ");for(k=0;k<=4-2*h;k++) printf("*");printf("\n");}}6.小张,小李,小王,小刘共买苹果144个。
其中,小张买的苹果比小李多10个,比小王多26个,比小六多32个。
问小张买了多少个苹果?()A. 73B. 63C. 53D. 43E. 273. 写出下面程序的输出结果:void main(){ int s=0,k;for(k=7;k>=0;k–){switch(k){case 1:case 4:case 7:s++;break;case 2:case 3:case 6:break;case 0:case 5:s+=2;break;}}printf(“s=%d”,s);}下载全文。
国家二级C语言机试(程序设计题)模拟试卷2(题后含答案及解析)
国家二级C语言机试(程序设计题)模拟试卷2(题后含答案及解析) 题型有:1.1.使用VC++2010打开考生文件夹下prog1中的解决方案。
此解决方案的项目中包含一个源程序文件prog1.c。
在此程序中,函数fun的功能是:将s所指字符串中下标为偶数同时ASCII值为奇数的字符删除,s所指串中剩余的字符形成的新串放在t所指的数组中。
例如,若8所指字符串中的内容为“ABCDEFG12345”,其中字符C的ASCII码值为奇数,在数组中的下标为偶数,因此必须删除;而字符1的ASCII码值为奇数,在数组中的下标为奇数,因此不应当删除,其他依此类推。
最后t所指的数组中的内容应是“BDF12345”。
注意:部分源程序在文件PROG1.C中。
请勿改动main函数和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
试题程序:#include<stdio.h>#include<string.h>void fun(char*s,char t[]){}main( ){char s[100],t[100];void NONO( );printf(“\nPlease enter string S:”);Scanf(“%s”,s);fun(s,t);printf(“\nThe result is:%s\n”,t);NONO( );}void NONO( ){/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。
*/chars[100],t[100];FTLE*rf,*wf;int i;rf=fopen(“in.dat”,”r”);wf=fopen(“out.dat”,”w”);for(i=0;i<10;i++){fscanf(rf,”%s”,s);fun(s,t);fprintf(wf,”%s\n”,t);}fclose(rf);fclose(wf);}正确答案:void fun(char*s,char t[]){int i,j=0;for(i=0;i<strlen(s);i++)if(!((i%2)==0&&(s[i]%2)))t[j++]=s[i];t[j]=0;}解析:本题是从一个字符串按要求生成另一个新的字符串。
国家二级C语言机试模拟试卷124_真题(含答案与解析)-交互
国家二级(C语言)机试模拟试卷124(总分86, 做题时间90分钟)1. 选择题1.下列数据结构中,能用二分法进行查找的是( )。
SSS_SINGLE_SELA 无序线性表B 线性链表C 二叉链表D 顺序存储的有序表分值: 2答案:D解析:二分法查找只适用于顺序存储的有序表,表中的元素按值从小到大排列。
2.下列叙述中,不属于设计准则的是( )。
SSS_SINGLE_SELA 提高模块独立性B 使模块的作用域在该模块的控制域中C 设计成多入口、多出口模块D 设计功能可预测的模块分值: 2答案:C解析:大量软件设计表明,以下的设计准则是可以借鉴为设计的指导和对软件结构图进行优化,这些准则是:提高模块独立性;模块规模适中:深度、宽度、扇出和扇入适当;使模块的作用域在该模块的控制域中;应减少模块的接口和界面的复杂性;设计成单入口、单出口的模块;设计功能可预测的馍块。
3.下列队列的描述中,正确的是( )。
SSS_SINGLE_SELA 队列属于非线性表B 队列在队尾删除数据C 队列按“先进后出”进行数据操作D 队列按“先进先出”进行数据操作分值: 2答案:D解析:队列是只允许在一端删除,在另一端插入的顺序表,允许删除的一端叫做队头,允许插入的一端叫做队尾。
队列的操作数是依据先进先出的原则进行的。
因此队列亦称作先进先出的线性表,或后进后出的线性表。
4.对下列二叉树进行前序遍历的结果为( )。
SSS_SINGLE_SELA ABCDEFGHB ABDGEHCFC GDBEHACFD GDHEBFCA分值: 2答案:B解析:遍历就是不重复地访问二叉树的所有结点。
二叉树遍历的方法有3种:前序遍历、中序遍历和后序遍历。
记住3种遍历的顺序:①前序,访问根→按前序遍历左子树→按前序遍历右子树;②中序,按中序遍历左子树→访问根→按中序遍历右子树;③后序,按后序遍历左子树→按后序遍历右子树→访问根。
所以对该二叉树的中序遍历结果为ABDGEHCF。
昆明理工大学C语言程序设计模拟试卷1,附答案
C语言模拟考试卷一、是非题(每小题1分,共5分)(1)若有说明:int a[][4] ={0,0}; 则二维数组a的第一维大小为1 BA)对B)错(2)判断char型变量cl是否为大写字母的正确表达式是(cl>= 'A')&&(cl<= 'Z')A A)对B)错(3)已知int a=1,b=-1; 则语句printf("%d\n", (a--, ++b)); 的输出结果是-1B A)对B)错(4)strcmp函数的功能是字符串的比较AA)对B)错(5)sizeof(float)是一个不合法的表达式BA)对B)错二、单项选择题(每小题3分,共75分)(1)下列关于C语言用户标识符的叙述中正确的是(A)。
A)用户标识符中可以出现下划线和中划线(减号)B)用户标识符中不可以出现中划线,但可以出现下划线C)用户标识符中可以出现下划线,但不可以放在用户标识符的开头D)用户标识符中可以出现下划线和数字,它们都可以放在用户标识符的开头(2)下列叙述中正确的是(B)。
A)C语言的函数可以嵌套调用B)C语言的子程序有过程和函数两种C)C语言的函数可以嵌套定义D)C语言编译时不检查语法(3)以下4个选项中,不能看做一条语句的是(D)。
A); B)a=5,b=2.5,c=3.6;C)if(a<5); D)if(b!=5)x=2;y=6;(4)以下程序段的描述,正确的是(C)。
x=-1;do{x=x*x;}while(!x);A)是死循环B)循环执行两次C)循环执行一次D)有语法错误(5)已知char ch=’C’;则以下表达式的值是(D)。
ch=(ch>=’A’ && ch<=’Z’)?(ch+32):ch;A)A B)a C)Z D)c(6)执行下面的程序段后,变量k中的值为(A)。
int k=3, s[2];s[0]=k; k=s[1]*10;A)不定值B)33 C)30 D)10(7)现有如下定义:int a, b, *p, *q;,则下列赋值语句错误的是(D)。
国家二级C语言机试(数据结构与算法)模拟试卷5(题后含答案及解析)
国家二级C语言机试(数据结构与算法)模拟试卷5(题后含答案及解析)题型有:1. 选择题选择题1.设二叉树共有375个结点,其中度为2的结点有187个。
则度为1的结点个数是A.0B.1C.188D.不可能有这样的二叉树正确答案:A解析:二叉树的每个结点至多只有二棵子树(不存在度大于2的结点),二叉树的子树有左右之分,次序不能颠倒。
二叉树的第i层至多有2i-1个结点;深度为k的二叉树至多有2k-1个结点;对任何一棵二叉树T,如果其终端结点数为n0,度为2的结点数为n2,则n0=n2+1。
本题中,度为2的结点有187个,叶子结点应该有187+1=188个,度为1的结点个数=375-187-188=0。
知识模块:数据结构与算法2.在带链队列中,经过一系列正常的操作后,如果front=rear,则队列中的元素个数为A.0或1B.0C.1D.队列满正确答案:A解析:队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。
进行插入操作的端称为队尾,进行删除操作的端称为队头。
队列的链式存储也称为链队列。
为了便于操作,可给链队列添加1个头结点,并令头指针指向头结点。
队列为空的判断条件是头指针和尾指针的值相同,且均指向头结点。
当队列为空(0)或1时,front=rear。
知识模块:数据结构与算法3.设一棵树的度为3,其中没有度为2的结点,且叶子结点数为5。
该树中度为3的结点数为A.1B.2C.3D.不可能有这样的树正确答案:B解析:树的度是指一棵树中,最大的结点的度称为树的度。
本题中树的度为3,那么树中最少有一个结点的度为3。
而树中没有度为2的结点,叶子结点数为5,度为1的结点下面只有一个叶子结点。
因此,该树中含2个度为3的结点满足题目要求。
知识模块:数据结构与算法4.设二叉树共有500个结点,其中叶子结点有250个。
专升本考试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语言机试(C语言程序设计)模拟试卷26(题后含答案及解析)
国家二级C语言机试(C语言程序设计)模拟试卷26(题后含答案及解析)题型有:1. 选择题选择题1.要求通过while循环不断读入字符,当读入字母N时结束循环。
若变量已正确定义,以下正确的程序段是A.while(ch=getchar( )=‘N’)printf(“%c”,ch);B.while(ch=getchar( )==“N”)printf(“%c”,ch);C.while((ch=getchar( ))!=‘N’)printf(“%c”,ch);D.while((ch=getchar( ))==‘N’)printf(“%c”,ch);正确答案:C解析:while循环的执行过程如下:①计算while后面圆括号中表达式的值,当值为非0时,执步骤②;当值为0时,执行步骤④:②执行循环体一次:③转去执行步骤①;④退出循环。
在选项C)中,表达式(ch=getchar( ))!=‘N’表示输入的字符不等于N,如果这个条件表达式成立,则执行循环体,打印输出输入的字符。
如果这个条件表达式不成立,即输入的字符等于N,则退出循环。
知识模块:C语言程序设计2.若有以下程序main( ){int a=-2,b=0;while(a++) ++b:printf(“%d,%d\n”,a,b);}则程序的输出结果是A.0,2B.1,2C.1,3D.2,3正确答案:B解析:循环体执行两次,第一次表达式a++值为-2,a的值为-1,执行循环体++b,b值为1,第二次表达式a++值为-1,a的值等于0,执行++b,b值为2,第三次判断条件a++,表达式值为0,不执行循环体,但是条件判断以后,a的值为1。
知识模块:C语言程序设计3.由以下while构成的循环,循环体执行的次数是int k=0;while(k=1)k++;A.一次也不执行B.执行一次C.无限次D.有语法错,不能执行正确答案:C解析:循环条件表达式为赋值表达式k=1,因此循环执行无限次。
国家二级C语言(数组)机试模拟试卷4(题后含答案及解析)
国家二级C语言(数组)机试模拟试卷4(题后含答案及解析)题型有:1. 选择题选择题1.若有定义:int x[10],*pt=x;,则对x数组元素的正确引用是( )。
A.pt+3B.*&x[10]C.*(pt+10)D.*(x+3)正确答案:D解析:没有A选项的引用形式。
*与&放在一起作用抵消,但x[10]下标10超出了数组下标范围,所以B选项错误。
最大只能引用到x[9],而*(pt+i)表示引用指针pt所指元素后的第i个元素,所以C选项错误,最大只能为*(pt+9)。
D 选项正确。
知识模块:数组2.有以下程序:#include<stdio.h>main( ){int i,s=0,t[]={1,2,3,4,5,6,7,8,9};for(i=0;i<9;i+=2)s+=*(t+i);printf(“%d\n”,s);}程序的运行结果是( )。
A.20B.25C.45D.36正确答案:B解析:统计1~9这9个数中的奇数和,此题考查指向数组的指针。
C语言规定数组名代表数组的首地址,也就是第一个元素的地址,因此*(t+i)代表数组的第i+1个元素。
程序的运行结果是1+3+5+7+9=25。
知识模块:数组3.有以下程序:#include<stdio.h>main( ){int s[12]={1,2,3,4,4,3,2,1,1,1,2,3},c[5]={0},i;for(i=0;i<12;i++)e[s[i]]++;for(i=1;i <5;i++)printf(“%d”,c[i]);printf(“\n”);}程序的运行结果是( )。
A.2 3 4 4B.4 3 3 2C.1 2 3 4D.1 1 2 3正确答案:B解析:在for(i=0;i<12;i++)c[s[i]]++中,数组元素s[i]的值作为数组c的下标,当退出循环时,数组c的4个元素的值分别为4、3、3、2,因此B选项正确。
知识模块:数组4.下列定义数组的语句中正确的是( )。
国家二级C语言(数据结构与算法)机试模拟试卷2(题后含答案及解析)
国家二级C语言(数据结构与算法)机试模拟试卷2(题后含答案及解析)题型有:1. 选择题选择题1.算法中,对需要执行的每一步操作,必须给出清楚、严格的规定。
这属于算法的A.正当性B.可行性C.确定性D.有穷性正确答案:C解析:本题考查算法的基本特征。
算法的可行性表示算法中执行的任何步骤都是可以被分解为基本的可执行的操作步:确定性是指算法的每一步骤必须有确切的含义;有穷性是指算法必须能在执行有限个步骤之后终止。
知识模块:数据结构与算法2.下列叙述中正确的是A.算法就是程序B.设计算法时只需要考虑数据结构的设计C.设计算法时只需要考虑结果的可靠性D.以上三种说法都不对正确答案:D解析:所谓算法是指解题方案的准确而完整的描述。
是一组严谨地定义运算顺序的规则,并且每一个规则都是有效的,且是明确的,此顺序将在有限的次数下终止。
算法不等于程序,也不等于计算方法。
设计算法时不仅要考虑对数据对象的运算和操作,还要考虑算法的控制结构。
知识模块:数据结构与算法3.下列叙述中正确的是A.算法的效率只与问题的规模有关,而与数据的存储结构无关B.算法的时间复杂度是指执行算法所需要的计算工作量C.数据的逻辑结构与存储结构是一一对应的D.算法的时间复杂度与空间复杂度一定相关正确答案:B解析:算法的时间复杂度是指执行算法所需要的计算工作量。
算法的工作量用算法所执行的基本运算的次数来度量,而算法所执行的基本运算次数是问题规模的函数;算法的空间复杂度一般是指执行这个算法所需要的内存空间。
算法的时间复杂度与空间复杂度并不相关。
数据的逻辑结构就是数据元素之间的逻辑关系,它是从逻辑上描述数据元素之间的关系,是独立于计算机的;数据的存储结构是研究数据元素和数据元素之问的关系如何在计算机中表示,它们并非一一对应。
算法的执行效率不仅与问题的规模有关,还与数据的存储结构有关。
知识模块:数据结构与算法4.在DOS环境F,代表键盘和显示器的设备文件名为A.PRNB.CONC.NULD.LPT正确答案:B解析:本题考查DOS下面的虚拟设备文件,选项A)的PRN表示打印机,选项B)中的CON表示键盘或屏幕,选项C)的NUL表示虚拟空设备,选项D)的LPT表示并口。
C语言模拟试卷及答案
C语言模拟试卷及答案2021d2021学年第一学期《c语言程序设计》模拟试卷(b)一、单项选择题(每题1分,共30分)1.C语言程序总是从开始执行开始。
a)第一个语句b)第一个函数c)主函数d)子程序2。
以下选项中正确的C语言标识符是。
a) a+bb)3dmaxc)25d)ó。
在以下选项中,_________________。
a) '\\t'b)\C''ABC'd''279'4。
在下面的选项中,C语言的基本数据类型是_u。
a)逻辑类型b)双精度类型C)复杂类型D)集合类型5。
已知:inta=8,B=5,C;,然后执行语句C=a%B+0.3;在那之后,C的值是_。
a) 1b)1.3c)3D)3.36。
A、程序中的B和C集被定义为整数,并且给出了大于1的值,这可以正确地表示代数公式1的表达式abc是______。
a)1/a*b*cb)1/(a*b*c)c)1/a/b/(float)cd)1.0/a/b/c7.已知字符'a'的ascii码值为十进制数65,则执行语句printf(\______。
a)ab)cc)65d)678.已知:inti=1;,则执行语句printf(\a)1b)2c)-1d)-29.以下选项中,和语句x*=y+2;等价的是______。
a)x=x*y+2;b)y=x*(y+2);c)x=y+2*x;d)x=x*(y+2);10.以下选项中能正确判断字符变量c不是大写字母的表达式是______。
a)c'z'b)!(c'z')c)c>='a'||c<='z'd)!(c>='a'&&c<='z')11.已知:floata=7.0,b=2.5;,则表达式(int)a/(int)b的值是______。
