2011年12月25日C语言试题
2011山东专升本《C语言程序设计》真题
2011山东专升本《C语言程序设计》真题.txt点的是烟抽的却是寂寞……不是你不笑,一笑粉就掉!人又不聪明,还学别人秃顶。
绑不住我的心就不要说我花心!再牛b的肖邦,也弹不出老子的悲伤!活着的时候开心点,因为我们要死很久。
请你以后不要在我面前说英文了,OK?本文由hanliankuo贡献doc文档可能在WAP端浏览体验不佳。
建议您优先选择TXT,或下载源文件到本机查看。
2011 年普通高等教育专升本考试语言程序设计程序设计》《C 语言程序设计》试题计算机科学与技术专业综合二试题(满分:计算机科学与技术专业综合二试题(科目 2,满分:50 分)题号得分六、填空题(8 分,每题 2 分)填空题 1.若 a 是 int 型变量,且 a=5,则下面表达式的值为:。
2.C 语言程序中引用标准输入输出库函数,必须在每个源文件的首部写下#include <> 。
3.若 int 型变量占内存 2 个字节、double 型变量占内存 8 个字节,有如下定义:六七八九总分union data { int i; double d; }a;则变量 a 在内存中所占字节数为:。
4.当文件关闭成功后,fclose 函数的返回值为:。
七、阅读程序题(15 分,每题 3 分)阅读程序题 1.下面程序的运行结果是。
#include main() { int i=2,j=3,k; k=i+j;1{ int k=8; if(i=3) printf(“%d”,k); else printf(“%d”;,j) } printf(“%d%d”,i,k); } 2.下面程序的运行结果是。
#include #define SIZE 8 main() { char s[]=“GDBFHACE”; int i,j,t; for(i=0;i s[j]) { t= s[i]; s[i] = s[j]; s[j] =t; } } for(i=0;i int fun(int a,int b,int *cn,int *dn,) { *cn=a*a +b*b; *dn= a*a—b*b; a=5;b=6; } main() { int a=4,b=3,c=5,d=6;; fun (a,b,&c,&d) printf(“a=%d,b=%d,c=%d,d=%d\n”,a,b,c,d); }4. #include int fun(int x) { static y=2; y++; x+=y; return x; } void main() { int k; k=fun(3); printf(“%d”,%d\n” k, fun(k);,) } 35.下面程序的运行结果是。
2011年全国计算机二级C语言考试真题及答案
2011年9月全国计算机等级考试二级笔试试卷一、选择题A)算法就是程序B)设计算法时只需考虑数据结构的设计C)设计算法时只需考虑结果的可靠性D)以上三种说法都不对(2)下列关于线性链表叙述中,正确的是A)各数据结点的存储空间可以不连续,但它们的存储顺序与逻辑顺序必须一致B)各数据结点的存储顺序与逻辑顺序可以不一致,但它们的存储空间必须连续C)进入插入与删除时,不需要移动表中的元素D)以上三种说法都不对(3)下列关于二叉树的叙述中,正确的是A)叶子结点总是比度为2的结点少一个B)叶子结点总是比度为2的结点多一个C)叶子结点数是度为的结点数的两倍D)度为2的结点数是度为1的结点数的两倍(4)软件按功能分为应用软件、系统软件和支撑软件(或工具软件)。
下现属于应用软件的是A)统(5)该系统总体结构图的深度是A)7 B)6 C)3 D)2(6)程序调试的任务是A)设计测试用例B)验证程序的正确性C)发现程序中的错误D)诊断和改正程序中的错误(7)下列关于数据库设计的叙述中,正确是的A)在需求分析阶段建立数据字典B)在概念设计阶段建立数据字典C)在逻辑设计阶段建立数据字典D)在物理设计阶段建立数据字典(8)数据库系统的三级模式不包括A)概念模式B)内模式C)外模式D)数据模式R S T(9)有三个关系R 、S 和T 如下:则由关系R 和S 得到关系T 的操作是 A)自然连接 B)差C)交 D)并(10)下列选项中属于面向对象设计方法主要特征的是A)继承 B)自顶向下 C)模块化 D)逐步求精(11)以下叙述中错误的是A)C 语言编写的函数源程序,其文件名后缀可以是.C B)C 语言编写的函数都可以作为一个独立的源程序文件 C)C 语言编写的每个函数都可以进行独立的编译并执行 D)一个C 语言程序只有一个主函数(12)以下选项中关于程序模块化的叙述错误的是A)把程序分成若干相对独立的模块,可便于编码和调试B)把程序分成若干相对独立、功能单一的模块,可便于重复使用这些模块C)可采用自底向上、逐步细化的设计方法把若干独立模块组装成所要求的程序 D)可采用自顶向下、逐步细化的设计方法把若干独立模块组装成所要求的程序 (13)以下选项中关于C 语言常量的叙述错误的是A)所谓常量,是指在程序运行过程中,其值不能被改变的量 B)常量分为整型常量、实型常量、字符常量和字符串常量 C)常量可分为数值常量和非数值常量 D)经常被使用的变量可以定义成常量(14)若有定义语句: int a=10; double b=3.14; ,则表达式'A'+a+b 的值的类型是 A)char B)int C)double D)float (15)若有定义语句: int x=12, y=8, z; ,在其后执行语句z=0.9+x/y;,则z 的值为 A)1.9 B)1 C)2 D)2.4(16)若有定义: int a,b;,通过语scanf("%d;%d",&a,&b);,能把整数3赋给变量a, 5赋给变量b 的输入数据是A)3 5 B)3,5 C)3;5 D)35(17)若有定义语句: int k1=10, k2=20;,执行表达式(k1=k1>k2) && (k2=k2>k1)后,k1和k2的值分别为 A)0和1B)0和20C)10和1D)10和20(18)有以下程序#include <stdio.h> main( ){ int a=1, b=0;if (--a) b++;else if(a==0) b+=2;else b+=3;printf("%d\n",b);}程序运行后的输出结果是A)0 B)1 C)2 D)3(19)下列条件语句中,输出结果与其他语句不同的是A) if(a) printf("%d\n", x); else printf("%d\n",y);B) if(a==0) printf("%d\n", y); else printf("%d\n",x);C) if(a!=0) printf("%d\n", x); else printf("%d\n",y);D) if(a==0) printf("%d\n", x); else printf("%d\n",y);(20)有以下程序#include <stdio.h>main( ){ int a=7;while (a--);printf("%d\n",a);}程序运行后的输出结果是A)-1 B)0 C)1 D)7(21)以下不能输出字符A的语句是(注:字符A的ASCII码值为65,字符a的ASCII码值为97)A)printf("%c\n",'a'-32); B)printf("%d\n",'A')C)printf("%c\n",65); D)printf("%c\n",'B'-1);(22)有以下程序(注:字符a的ASCII码值为97)#include <stdio.h>main( ){ char *s={"abc"};do{ printf("%d",*s%10); ++s; }while (*s);}程序运行后的输入结果是A)abc B)789 C)7890 D)979899(23)若有定义语句: double a,*p=&a; 以下叙述中错误的是A)定义语句中的 * 号是一个间址运算符B)定义语句中的 * 号只是一个说明符C)定义语句中的p只能存放double类型变量的地址D)定义语句中,*p=&a把变量a的地址作为初值赋给指针变量p#include <stdio.h>double f(double x);main( ){ double a=0; int i;for (i=0; i<30; i+=10) a+=f( (double)i);printf("%5.0f\n",a);}double f(double x){ return x*x+1; }程序运行后的输出结果是A)503 B)401 C)500 D)1404(25)若有定义语句: int year=2009, *p=&year;,以下不能使变量year中的值增至2010的语句是A)*p+=1; B)(*p)++; C)++(*p); D)*p++;(26)以下定义数组的语句中错误的是A)int num[]={1,2,3,4,5,6} B)int num[][3]={{1,2},3,4,5,6}; C)int num[2][4]={{1,2},{3,4},{5,6}}; D)int num[][4]={1,2,3,4,5,6};(27)有以下下程序#include <stdio.h>void fun(int *p){ printf("%d\n", p[5]); }main( ){ int a[10]={1,2,3,4,5,6,7,8,9,10};fun(&a[3]);}程序运行后的输出结果是A)5 B)6 C)8 D)9(28)有以下程序#include <stdio.h># define N 4void fun(int a[][N], int b[]){ int i;for (i=0; i<N; i++) b[i]=a[i][i]-a[i][N-1-i];}main( ){ int x[N][N]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}}, y[N], i;fun(x, y);for (i=0;i<N; i++) printf("%d,",y[i]); printf("\n");}程序运行后的输出结果是A)-12,-3,0,0, B)-3,-1,1,3, C)0,1,2,3, D)-3,-3,-3,-3,int fun(char *x, char *y){ int n=0;while ( (*x==*y) && *x!='\0') {x++; y++; n++; }return n;}函数的功能是A)查找x和y所指字符串中是否有'\0'B)统计x和y所指字符串中最前面连续相同的字符个数C)将y所指字符串赋给x所指存储空间D)统计x和y所指字符串中相同的字符个数(30)若有定义语句: char *s1="OK", *s2="ok";,以下选项中,能够输出"OK"的语句是A)if (strcm(s1,s2)==0 puts(s1); B)if (strcm(s1,s2)!=0 puts(s2);C)if (strcm(s1,s2)==1 puts(s1); D)if (strcm(s1,s2)!=0 puts(s1);(31)以下程序的主函数中调用了在其前面定义的fun函数#include <stdio.h>∶main( ){ double a[15],k;k=fun(a)∶}则以下选项中错误的fun函数首部是A)double fun( double a[15]) B)double fun( double *a)C)double fun( double a[]) D)double fun( double a)(32)有以下程序#include <stdio.h>#include <string.h>main( ){ char a[5][10]={"china", "beijing", "you", "tiananmen", "welcome"};int i,j; char t[10];for ( i=0; i<4; i++)for (j=i+1; j<5; j++)if( strcmp(a[i], a[j])>0){ strcpy(t,a[i]); strcpy(a[i],a[j]); strcpy(a[j],t); }puts(a[3]);}程序运行后的输出结果是A)beijing B)china C)welcome D)tiananmen(33)有以下程序#include <stdio.h>int f(int m){ static int n=0;n+=m;return n;}main( ){ int n=0;printf("%d,", f(++n));printf("%d\n", f(n++));}程序运行后的输出结果是A)1,2 B)1,1 C)2,3 D)3,3(34)有以下程序#include <stdio.h>main( ){ char ch[3][5]={"AAAA","BBB","CC"};printf( "%s\n", ch[1] );}程序运行后的输出结果是A)AAAA B)CC C)BBBCC D)BBB(35)有以下程序#include <stdio.h>#include <string.h>void fun(char *w, int m){ char s,*p1, *p2;p1=w; p2=w+m-1;while (p1<p2) { s=*p1; *p1=*p2; *p2=s; p1++; p2--; }}main( ){ char a[]="123456";fun( a, strlen(a) ); puts(a);}程序运行后的输出结果是A)654321 B)116611 C)161616 D)123456(36)有以下程序#include <stdio.h>#include <string.h>typedef struct {char name[9]; char sex; int score[2]; } STU;STU f(STU a){ STU b={"Zhao",'m',85,90};int i;strcpy(, );a.sex=b.sex;for (i=0; i<2; i++) a.score[i]=b.score[i];return a;}main( ){ STU c={"Qian",'f',95,92}, d;d=f(c);printf("%s,%c,%d,%d,",,d.sex,d.score[0],d.score[1]);printf("%s,%c,%d,%d\n",,c.sex,c.score[0],c.score[1]);}程序运行后的输出结果是A)Zhao,m,85,90,Qian,f,95,92 B)Zhao,m,85,90,Zhao,m,85,90A)Qian,f,95,92,Qian,f,95,92 B)Qian,f,95,92,Zhao,m,85,90(37)有以下程序#include <stdio.h>main( ){ struct node {int n; struct node *next;} *p;struct node x[3]={{2,x+1}, {4,x+2}, {6, NULL}};p=x;printf("%d,", p->n );printf("%d\n",p->next->n );}程序运行后的输出结果是A)2,3 B)2,4 C)3,4 D)4,6(38)有以下程序#include <stdio.h>main( ){ int a=2, b;b=a<<2; printf("%d\n",b);}程序运行后的输出结果是A)2 B)4 C)6 D)8(39)以下选项中叙述错误的是A)C程序函数中定义的赋有初值的静态变量,每调用一次函数,赋一次初值B)在C程序的同一函数中,各复合语句内可以定义变量,其作用域仅限于本复合语句内C)C程序函数中定义的自动变量,系统不自动赋确定的初值D)C程序函数的形参不可以说明为static型变量(40)有以下程序#include <stdio.h>main( ){ FILE *fp;int k,n,i,a[6]={1,2,3,4,5,6};fp = fopen("d2.dat","w");for (i=0; i<6; i++) fprintf(fp, "%d\n",a[i]);fclose(fp);fp = fopen("d2.dat","r");for (i=0; i<3; i++) fscanf(fp, "%d%d", &k, &n);fclose(fp);printf("%d,%d\n", k, n);}程序运行后的输出结果是A)1,2 B)3,4 C)5,6 D)123,456二、填空题(每空2分,共30分)请将每空的正确答案写在答题卡【1】至【15】序号的横线上,答在试卷上不得分。
2011年计算机等级二级C语言填空题练习题及答案解析
else return (x +1)/(x-2); } double fun( int n ) {int i; double s=0.0, y; for (i= -n; i<=___2___; i++) { y=f(1.0*i); s += y; } return ___3___; } main ( ) { printf("%f\n", fun(5) ); } 第一处:0.0 第二处:n 第三处:s 解析:函数 f ( double x) 求每个单项的值。 if……else 的条件是互斥的。 fun( ) 是求和。
7) return___3___; 8) } 第一处:n==0 第二处:n==1 第三处:fun(n-1)+fun(n-2) 解析:求斐波契数列:一项等于其前两项的和。 这也是一个递归。 求斐波契数列的第 n 项的值,n 从0开始。 3. 请补全函数 fun,该函数的功能是求出以下分数序列的前 n 项之和。和值通过函数 值返回到 main 函数。 1) #include 2) #include 3) ___1___ fun(int n) 4) {int a,b,c,k; 5) double s; 6) s=0.0; 7) a=2; 8) b=1; 9) for(k=1;k<=n;k++) 10) { 11) s=s+(___2___)a/(___3___)b; 12) c=a; 13) a=a+b; 14) b=c; 15) } 16) return s; 17) }
第一处:double 第二处:double 第三处:double 解析:从第11----14总结出数列的表达式。第1项是 a/b=2/1;3/2 4/3 故:s=2/1+3/2+4/3+…… 和的初值是0。 记住:两个整数进行算术运算结果也是整数,算术运算中只要有一个操作数是实数, 运
c语言考题及答案(可编辑修改word版)
2011-2012 第二学期C 语言期末试卷一、选择题:(每小题1分,共20分)1、一个C程序的执行是从( A )。
A.本程序的main函数开始,到main函数结束B.本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C.本程序的main函数开始,到本程序文件的最后一个函数结束D.本程序文件的第一个函数开始,到本程序main函数结束2、在 C 语言中,每个语句必须以( D )结束。
A. 回车符B. 冒号C. 逗号D. 分号3、C 语言规定:在一个源程序中,main函数的位置( C )。
A. 必须在最开始B. 必须在系统调用的库函数的后面C. 可以任意D. 必须在最后4、以下选项中,( D )是不正确的 C 语言字符型常量。
A. 'a'B. '\x41'C. '\101'D. "a"5、若x、i、j和k都是int型变量,则计算下面表达式后,x的值是( C )。
x=(i=4,j=16,k=32)A. 4B. 16C.32D.526、在以下一组运算符中,优先级最低的运算符是( D )。
A. *B. !=C. +D. =7、了避免嵌套的if-else语句的二义性,C语言规定else总是与( C )组成配对关系。
A. 缩排位置相同的ifB. 在其之前未配对的ifC. 在其之前尚未配对的最近的ifD. 同一行上的if8、为表示关系x≥y≥z,应使用C语言表达式( A )A. (x>=y)&&(y>=z)B. (x>=y)AND(y>=z)C. (x>=y>=z)D. (x>=y) || (y>=z)9、若变量已正确说明为int类型,要给a、b、c输入数据,以下正确的输入语句是( D )A.read(a,b,c)B.scanf(“%d%d%d”,a,b,c);C.scnaf(“%D%D%D”,&a,&b,&C);D.scanf(“%d%d%d”, &a,&b,&c);10、执行语句scanf("%d,%d",&m,&n);使m和n的值分别为1和2,正确输入是( C )A.1 2B.1 2C.1,2D.1211、main(){ int i = 10, j = 1;printf("%d,%d\n",i- -, ++j);}执行后输出结果是( B )A. 9,2B. 10,2C. 9,1D. 10,112、C语言中while和do-while循环的主要区别是( A )A.do-while的循环体至少无条件执行一次B.while的循环控制条件比do-while的循环控制条件严格C.do-while允许从外部转到循环体内D.do-while的循环体不能是复合语句13、下面有关for循环的正确描述是( D )A.for循环只能用于循环次数已经确定的情况B.for循环是先执行循环体语句,后判断表达式C.在for循环中,不能用break语句跳出循环体D.for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来14、以下正确的描述是( B )A.continue语句的作用是结束整个循环的执行B.只能在循环体内和switch语句体内使用break语句C.在循环体内使用break语句或continue语句的作用相同D.从多层循环嵌套中退出时,只能使用goto语句15、以下对C语言函数的有关描述中,正确的是( A )。
c语言二级考试2011答案
c语言二级考试2011答案一、单项选择题(每题2分,共20分)1. C语言中,以下哪个选项不是合法的变量名?A. intB. _sumC. x2yD. sum$答案:A2. 下列关于C语言中整型变量的描述,哪个是错误的?A. 整型变量可以存储整数B. 整型变量可以存储小数C. 整型变量可以存储字符D. 整型变量可以存储布尔值答案:B3. 在C语言中,以下哪个选项是正确的注释方式?A. // 这是一个注释B. /* 这是一个注释 */C. <!-- 这是一个注释 -->D. # 这是一个注释答案:A4. C语言中,以下哪个选项不是控制语句?A. ifB. switchC. forD. while答案:B5. 在C语言中,以下哪个选项是正确的函数声明?A. int function();B. void function int;C. int function int;D. int function();答案:D6. C语言中,以下哪个选项是正确的数组声明?A. int array[10];B. int array[];C. int array[10][];D. int array[10][10];答案:A7. 在C语言中,以下哪个选项是正确的字符串声明?A. char str[];B. char str[10];C. char str[10][];D. char str[10][10];答案:B8. C语言中,以下哪个选项是正确的指针声明?A. int *p;B. int *p[];C. int p;D. int *p[10];答案:A9. 在C语言中,以下哪个选项是正确的结构体声明?A. struct {int a;float b;} struct1;B. struct struct1 {int a;float b;};C. struct1 {int a;float b;};D. struct {int a;float b;};答案:D10. C语言中,以下哪个选项是正确的枚举声明?A. enum {RED, GREEN, BLUE} color;B. enum color {RED, GREEN, BLUE};C. enum {RED, GREEN, BLUE} enum1;D. enum enum1 {RED, GREEN, BLUE};答案:B二、填空题(每题2分,共20分)1. 在C语言中,使用____关键字可以定义一个函数。
C语言期末试题2011年C
倾情奉献---马杰C 语言 考试题,满分为100分。
本试卷为卷面笔试部分,卷面满分为90分。
一、填空题(10分,第1小题4分,其余每空1分) 1.设有下列登记表,请采用最佳方式定义一种数据类型来表示这些数据的集合。
其中,配偶姓名用spouseName 表示,子女人数用children 表示。
注意行为规范,遵守考试纪律! 姓名name 性别 sex 职业 profession 婚姻状况marital 未婚 年龄 single Age 已婚married 离婚日期 divorcedDay 配偶 姓名 子女 人数 年 year 月 month 日 date 婚姻状况标记 marry Flag marital2.C语言中构造数据类型包括、、。
3.C语言中用_______表示逻辑值“假”,用________表示逻辑值“真”。
4.char *p[10];这条语句的含义是:__ ___ _ _ 。
二、判断下列问题描述正确与否,正确的打“√”,错误的打“×”。
(4分,每题1分)1.如果在程序中定义静态变量和全局变量时,未明确指明其初始值,那么它们可以在程序编译阶段自动被初始化为0值。
()2.在C语言中,可以用typedef定义一种新的数据类型。
()3.在C语言中,实参与其对应的形参各占独立的存储单元。
()4. 在C语言中,函数的定义可以嵌套。
()三、选择题:(10分,每题2分)1.若用数组名作为函数调用时的实参,则实际上传递给形参的是()。
A.数组的首地址 B. 数组的第一个元素值C.数组中全部元素的值 D. 数组元素的个数2.判断两个字符串s1和s2相等,应当使用( )。
A. if (s1 == s2)B. if (s1 = s2)C. if (!strcmp(s1,s2))D. if (strcmp(s1,s2))3.在while(x)语句中的x与下面条件表达式等价的是:。
A. x!=0B. x==1C. x!=1D. x==04.二维数组a有m行n列,则在a[i][j]之前的元素个数为()。
2011年技能考试试卷C语言(真题)
第一部分【程序填空】第一套:题目:函数gcd()计算整型数组a中相邻两元素的最大公约数,最小公倍数,其中最大公约数存入数组b中,最小公倍数存入数组c中。
---------------------------------------------------------注意:请勿改动主函数main()中的其他内容。
---------------------------------------------------------#include <stdio.h>#include <conio.h>void gcd(int a[],int n,int b[],int c[]){int i,x,y,z;/***********SPACE***********/for(i=0;i<【?】;i++){x=a[i];y=a[i+1];while(z=x%y){x=y;y=z;}b[i]=y;/***********SPACE***********/c[i]=a[i]*a[i+1]/【?】;}}int main(){int a[5]={8,12,5,7,14};int b[4],c[4];int i;gcd(a,5,b,c);for(i=0;i<5;i++)printf("%d\t",a[i]);printf("\n");for(i=0;i<4;i++)printf("%d\t",b[i]);printf("\n");for(i=0;i<4;i++)printf("%d\t",c[i]);printf("\n");getch();return 0;}第二套题目:函数reverse()对字符串str进行逆序。
#include<stdio.h>#include<string.h>#include<conio.h>void reverse(char str[]){int len, j;char c;/***********SPACE***********/len = 【?】(str);/***********SPACE***********/for (j=len-1; 【?】; j--){c=str[j];str[j]=str[len-1-j];str[len-1-j]=c;}}int main(){char a[80];printf("Please enter a string: ");gets(a);reverse(a);printf("The inversed string is: ");puts(a);getch();return 0;}第三套题目:对主函数main()中数组a进行处理:如果相邻元素相同则保留一个。
2011年计算机二级C语言各类题型试题及答案解析精选汇总
一、单项选择题【1.1】以下不正确的C语言标识符是____。
A) int B) a_1_2 C) ab1exe D) _x【1.2】以下是正确的C语言标识符是____。
A) #define B) _123 C) %d D) \n【1.3】下列四组字符串中都可以用作C语言程序标识符的一组是。
••• A) print B) i\am C) Pxq D) str_l ••• _3d one_half My->book Cpp ••• oodbs tart$it line# pow ••• aBc 3pai His.age while【1.4】下面各选项组中,均是C语言关键字的组是。
A) auto,enum,include B) switch,typedef,continue C) signed,union,scanf D) if,struct,type【1.5】下列不属于C语言关键字的是。
A) default B) register C) enum D) external【1.6】C语言程序从main()函数开始执行,所以这个函数要写在____。
A) 程序文件的开始B) 程序文件的最后C) 它所调用的函数的前面D) 程序文件的任何位置【1.7】下列关于C语言的叙述错误的是____A) 大写字母和小写字母的意义相同B) 不同类型的变量可以在一个表达式中C) 在赋值表达式中等号(=)左边的变量和右边的值可以是不同类型D) 同一个运算符号在不同的场合可以有不同的含义【1.8】在C语言中,错误的int类型的常数是。
A) 32768 B) 0 C) 037 D) 0xAF【1.9】执行语句printf("%x",-1);屏幕显示____。
A) -1 B) 1 C) -ffff D) ffff【1.10】已知long i=32768;执行语句printf("%d",i);屏幕显示____。
2011年计算机等级二级C语言填空题练习题及答案解析)
2011年计算机等级二级C语言填空题练习题及答案解析求阶乘1.该fun函数的功能是求10的阶乘。
1)#include2)long fun(int n)3){if(___1___)4)return(n*fun(___2___));5)else if(___3___)6)return1;}第一处:n>1第二处:n-1·第三处:n==1解析:从第2、4行看到了函数名,函数体中又出现了函数的调用,则是递归。
我们知道:n!=n*(n-1)!这就是一个递归的表达式,写成函数就是fun(n)=n*fun(n-1)。
因此,4行处填写n-1。
又:1!=1故3,5行就好填了。
因此答案是n>1n-1n==1。
还有0!=1故,还可填写:n>0n-1n==0注意:35行的条件是相反的,这也是if与else条件的互斥性。
2.程序的功能是计算s=1!+2!+3!+……+n!1)long fun(int n)2){int i;3)long s;4)s=___1___;5)for(i=1;i<=n;i++)6)s=___2___;7)return s;8)}9)main()10){long s;11)int k,n;12)scanf("%d",&n);13)s=___3___;14)for(k=1;k<=n;k++)15)s=___4___;16)printf("%ld\n",s);17)}第一处:1第二处:s*i第三处:0第四处:s+fun(k)解析:首先,搞清楚函数fun、main各自的功能。
Fun是求一个数的阶乘,我们知道:n!=1*2*3*…*n同时要死记住:求积,积的初值一般等于1。
故fun中s是用来存放积的,其初值等于1;求阶乘是连乘,故s=s*iMain是求和,记住:和的初值一般等于0.两个函数中的局部变量s的作用是不同的。
Main中的s是存放和的。
2011年计算机等级考试二级C语言上机题库(含答案)
认识实习报告9月初,我们先前往了山东威海滨田印刷机械有限公司进行认识实习。
此后我们又去了一家大型零件加工厂进行了参观。
通过这次的实习,我们了解到机械行业第一线的一些具体情况,了解了工业生产实施的具体过程,同时也对一些工厂的技术实施,管理方法有了一定的认识。
前往滨田印刷机械有限公司以后,我们在指导老师和工程师的带领下,分批开始了对该厂的参观。
这一切对我们而言陌生有新鲜。
开始,我们在一位严谨的工程师的带领下,去了零件加工厂了解了各类零件的加工。
其中参观了各种自动化得机床,我们还从一部分机床中看到了上学期我们金工实习那些机床的影子。
但给我最大的感触是整个车间里,国产的机床并不是很多。
整个过程纪律严明,一边参观零件的加工,一边聆听了工程师给予我们的讲解了解了整个工厂的第一道程序。
此后,我们前往了三间组装车间,参观了52系列,66系列和47系列三种印刷机的组装。
这次给我们介绍的是一位年轻的工程师,他详细的向我们介绍了这三种印刷机的一些知识。
我们也了解了刚知道这几个型号产生的疑惑,原来,47,52和66的意思是最大用纸尺寸的长。
其中47系列是单色印刷机,可用于印号码,打孔线和树脂凸版印刷。
使用的集中供油系统可以有效的防止因局部遗忘加油造成的零件磨损,延长零件的精度和使用寿命,杜绝润滑油浪费,保护环境卫生。
52系列性能较高,大都是以高级胶印机所具有的高耐久性、高精度的部件为基础,生产的高性能印刷机。
同时也是可适合文字、线条印刷,实地印刷等各种印刷需要。
另外通过添加多种备选装置,使机器升级到更高效率的印刷机。
到66系列时,工程师大哥向我们介绍的较为详细,它分为两款:WEIHAI HAMADA66-NP 实现精美平版印刷及号码印刷的高品质重型印刷机和WEIHAI HAMADA66 真正高品质的重型印刷机。
WEIHAI HAMADA66系列是以真正高质量印刷为目标而生产的大四开重型胶印机。
这款先进的机械拥有按扭式与触摸式键盘,所需操作全部集中在3处操作盘上。
2011~2012学年第二学期C语言期末考试卷答案(A卷)
2011~2012学年第二学期C语言期末考试卷答案(A卷)专业班级:学号:姓名:一、选择题(用铅笔把选中的方格涂黑20×1=20分)1 2 3 45 6 7 89 10 11 1213 14 15 1617 18 19 2021 22 23 2425 26 27 2829 30二、填空题(25×2=50分)1. a-b==b-c2. 1<=x<log(10)3. 14. continue5. 56. 87. 108. 13 11 129. 8 10. 2 2 111. 1 0 0 12. 1 2 013. 3 5 8 14. f(a)*f(b)>015. (a+b) /2 16. f(x)*f(a)或y*f(a)17. cos 18. n%i==0或!(n%i)19. a[k++]=i 20. 021. prime(j) 22. NODE23. p2 24. p2->next25. head三、编程题(10×2=20分)1.编写函数int frinum(long s[][2],long n)实现以下功能:找到2 n范围内的所有亲密数对,将这些亲密数对保存到s指向的二维数组中。
函数返回s数组中存储的亲密数对的对数。
编写函数main实现以下功能:求3000以内的亲密数对并输出。
说明:如果A的全部真因子(包括1,不包括A自身)之和等于B;B的全部真因子之和等于A,则称整数A和B为一对亲密数。
#include <stdio.h>int frinum(long s[][2],long n){ long a,b,m,i,k=0;for(a=2;a<=n;a++){ for(b=0,i=1;i<=a/2;i++)if(!(a%i)) b+=i;for(m=0,i=1;i<=b/2;i++)if(!(b%i)) m+=i;if(m==a&&b>m){ s[k][0]=a; s[k][1]=b; k++; }}return k;}void main(){ int i,j; long n,s[20][2];j=frinum(s,3000);for(i=0;i<j;i++)printf("\n( %ld,%ld )",s[i][0],s[i][1]);}2.编写函数int arms(int ar[])实现以下功能:将所有3、4位Armstrong数存入数组ar中,函数返回这些Armstrong数的个数。
2011年c语言下半年c语言全国高等学校试题与答案
A)计算机病毒可以把自身复制到内存 B)长期不使用感染计算机病毒的计算机,计算机病毒可以自动消 失 C)计算机病毒可以潜伏在文件中并不立即发作 D)计算机病毒可以侵占系统资源,影响系统运行性能 9.网址中http表示————。 A)用户名 B)主机的IP地 址或域名 C)超文本传输协议 D)资源在主机上 的存放路径 10.用高级程序设计语言编写的程序称为————程序。 A)源 B)可执行 C)伪代码 D)目标 11.以下选项中叙述正确的是————。 A)C语言程序总是从第一个定义的函数开始执行 B)在C语言程序中,被调用的函数必须在main()函数中声明 C) 语言程序总是从main()函数开始执行 D)C语言程序中的main()函数必须存放在程序的开始部分 12. C语言程序的三种基本结构是顺序结构、选择结构和————结 构。 A)循环 B)递归 C)转移 D)嵌套 13.以下选) double C) char D)bool 14.以下选项中正确的C语言标识符是————。 A) 2b B) x_1 C) a@b D) 3#h 15. 以下选项中有关C语言的叙述错误的是————。 A)变量不能使用大写字母命名 B)在一个表达式中可以出现不同类型的变量 C)可以将一个字符型常量赋值给一个整型变量 D)可以将一个整型常量赋值给一个实型变量 16. 以下选项中,和语句K=N++;等价的是————。 A)k=n,n=n+1 B) n=n+1,k=n C) k=++n D) k=n+1 17. 已知:int i=3,j=2;,则执行语句j*=i+2;printf("%d",j);后,输出结果是 ————。 A) 8 B) 10 C) 12 D)14 18. 已知int a=2,b=3,c',,则执行语句c=(a+2,b+2);后,c的输出结果
2011年C语言试卷(含答案)
2011年计算机科学与技术专业C 语言试卷题号 一 二 三 四 总分校核分数阅卷一、基础知识填空题(每空2分,共20分)1. C 语言规定,必须用___ ____标识符作为主函数。
2. C 语言中用来表示整常数的进制有哪三种:__ _、__ _、__ _。
3. break 语句只能用于___ ____语句和___ ____语句。
4. 数组名命名规则和变量名相同,由字母、数字和下划线组成,并且开头只能是______ _________。
5. C 语言中,形参缺省的存储类说明是___ ______。
6. 一个专门用来存放另一个变量地址的变量叫____ ______。
7. 定义FILE *fp,这里fp 是一个___ _____。
二、基础选择题(每题2分,共30分)1. C 语言程序是由___ ______组成。
A.若干个过程B.若干子程序C.一个主程序和若干个子程序D.若干函数2. 完成C 源程序编辑后,到生成执行文件,C 理系统必须执行的步骤依次为___ 。
A.连接、编译B.编译、连接C.连接、运行D.运行 3. 下列符号中不属于C 语言保留字的是__________。
A.volatileB.thenC.staticD.for4. 假设在程序中a 、b 、c 均被定义成int 型,并且已被赋予大于1的值,则下列几种表达中,能正确表示代数式abc1的C 表达式是__________。
A.1/a*b*c B.1/(a*b*c) C.1/a/b/(float)c D.1.0/(a*b*c)5.设有int x=10,y=3;则下列表达式值为1的是__________。
A.!(y= =x/3)B.y!=x%7C.x>0&&y<0D.x!=y||x>=y6.字符型常量在内存中存放的是该字符对应的__________。
A. ASCII码值B. 十进制值C. BCD码值D. 内部码值7.以下叙述不正确的是__________。
2011~2012下学期C语言期末试卷A卷
试卷编号: ( A )卷
考生注意事项:1、本试卷共 7 页,请查看试卷中是否有缺页或破损。如有立即举手报告以便更换。 2、考试结束后,考生请务必将试卷和草稿纸交给监考教师。
课程编号: 适用班级: 学院:
课程名称: 姓名: 时长: 班级:
南昌大学共青学院
题号 题分 得分 一 60 二 30 三 10
考试日期:
总分 100 累分人 签名
一、单项选择题(30 题*2 分/题,共 60 分)
得分 题号 答案 题号 答案 题号 答 1、下列变量定义中合法的是( ) A.short _a=1-.le-1; B.double b=1+5e2.5; C.long do=0xfdaL; D.float 2_and=1-e-3; 2、语句 printf(“a\bre\'hi\'y\\\bou\n”);的输出结果是( ) A.a\bre\'hi\'y\\\bou B.a\bre\'hi\'y\bou C.re'hi'you D.abre'hi'y\bou (说明:'\b'是退格符) 3、有如下程序 main( ) { int y=3,x=3,z=1;printf(“%d %d\n”,(++x,y++),z+2);} 运行该程序的输出结果是( ) A.3 4 B.4 2 C.4 3 D.3 3 4、若有说明:int n=2,*p=&n,*q=p ;,则以下非法的赋值语句是( ) A.p=q ; B.*p=*q ; C.n=*q ; D.p=n ; 5、若变量已正确说明为 float 类型,要通过语句 scanf(“%f %f %f “,&a,&b,&c) ;给 a 赋于 10.0,b 赋予 22.0,c 赋予 33.0,不正确的输入形式是( ): A.10<回车> 22<回车> 33<回车> B.10.0,22.0,33.0<回车>
(免费)2011年计算机二级C语言上机考试南开100题_4
1: 第1题 m个人的成绩存放在score数组中,请编写函数fun,它的功能是:将低于平均分的人作为函数值返回,将低于平均分的分数放在below所指定的函数中。
答案:
int fun(int score[],int m,int below[])
{
int i,k=0,aver=0;
答案:
void fun(char s[],int c)
{
int i=0;
char *p;
p=s;
while(*p)
{
if(*p!=c)
{
s[i]=*p;
{
if (k>=0)
{
xx[g++]=i;
k--;
}
else
break;
}
}
}
6: 第6题 请编写一个函数void fun(char a[],char[],int n),其功能是:删除以各字符串中指定下标的字符。其中,a指向原字符串,删除后的字符串存放在b所指的数组中,n中存放指定的下标。
}
11: 第11题 下列程序定义了n×n的二维数组,并在主函数中自动赋值。请编写函数 fun(int a[][n]),该函数的功能是:使数组左下半三角元素中的值全部置成0。
答案:
int fun(int a[][N])
{
int I,j;
for(i=0;i<N;i++)
for(j=0;j<=I;j++)
答案:
float fun(float h)
{
long t;
C语言2011期末(A卷+答案)
中国海洋大学2011 学年秋季学期期末考试试卷共 4 页第 2 页9 若有定义:union data {long i;short k[6];char c[4];}DATE;则表达式sizeof(DA TE)的值是。
(A) 32 (B) 24(C) 20 (D) 1210若调用fputc( )函数输出字符成功,则其返回值是。
(A) 输出的字符(B) 0(C) 1 (D) EOF二(18分)程序分析(共3题,每题6分)1 分析下面程序的输出结果并说明程序的功能。
(输入:N=5)#include <stdio.h>void main(){int i,j,k,N,count;int data[10][10]={0};scanf("N=%d",&N);count=N*N;for(k=0;k<N/2;k++){ for(i=k;i<N-k;i++) data[k][i]=count--;for(i=k+1;i<N-k;i++) data[i][N-k-1]=count--;for(i=N-k-2;i>k;i--) data[N-k-1][i]=count--;for(i=N-k-1;i>k;i--) data[i][k]=count--;}if(N%2!=0) data[N/2][N/2]=1;for(i=0;i<N;i++){ for(j=0;j<N;j++)printf("%3d",data[i][j]);printf("\n");}}2 分析下面程序的输出结果并说明程序的功能。
(输入:num=11)#include<stdio.h>#define M 2unsigned process(unsigned n){ static unsigned S=1;unsigned d,e;d=n/M;if(d==0)e=1;else{ S*=M;e=M*process(d);}if (e==1) printf("(");printf("%d",n%M);if (S==e) printf(")%d\n",M);return(e);}中国海洋大学2011 学年秋季学期期末考试试卷信息学院《高级程序设计语言》课程试题(A卷) 共4 页第3 页void main(){ unsigned num;scanf("num=%u",&num);printf("(%u)10 = ",num);process(num);}3 分析下面程序的输出结果。
c语言2011考试题及答案
c语言2011考试题及答案一、单项选择题(每题2分,共20分)1. 下列选项中,哪个是C语言中的合法变量名?A. 123abcB. _intC. intD. float答案:B2. C语言中,哪个关键字用于定义一个函数?A. intB. functionC. defD. void答案:A3. 在C语言中,用于定义一个结构体的关键字是?A. structB. unionC. enumD. typedef答案:A4. 在C语言中,哪个运算符用于计算两个数的和?A. +B. -C. *D. /答案:A5. 下列哪个选项不是C语言中的控制语句?A. ifB. switchC. whileD. case答案:D6. C语言中,用于定义一个数组的语法是?A. int array[10];B. int [10] array;C. int array=10;D. int array;答案:A7. C语言中,哪个函数用于将字符串转换为浮点数?A. atoiB. atofC. itoaD. sprintf答案:B8. 在C语言中,哪个关键字用于定义一个指针?A. pointerB. ptrC. *D. ref答案:C9. 下列哪个选项不是C语言中的预处理命令?A. #includeB. #defineC. #ifD. switch答案:D10. C语言中,哪个函数用于输出格式化的字符串?A. printfB. scanfC. fprintfD. sprintf答案:A二、填空题(每题2分,共20分)1. 在C语言中,定义一个整型变量的正确语法是:____。
答案:int variable_name;2. C语言中,用于声明一个函数的关键字是:____。
答案:int3. 在C语言中,用于表示逻辑“与”操作的运算符是:____。
答案:&&4. C语言中,用于表示逻辑“或”操作的运算符是:____。
答案:||5. 在C语言中,用于声明一个字符数组的语法是:____。
2011年计算机等级考试二级C语言上机题库(含答案)
程序填空给定程序中,函数fun的功能是:将形参n所指变量中,各位上为偶数的数去除,剩余的数按原来从高位到低位的顺序组成一个新的数,并通过形参指针n传回所指变量。
如输入一个数:27638496,新的数为729第一空:{ t=*n%10;第二空:if(t%2!=0)第三空:*n=x;2.程序修改给定程序modi1.c中函数fun的功能是:计算n!。
例如,给n输入5,则输出120.000000。
double fun(int n ){ double result=1.0;/*****found******/if(n==0)return 1.0;while(n>1&&n<170)/*****found******/result*=n--;return result;}程序设计请编写一个函数fun,它的功能是:将一个数字字符串转换为一个整数(不得调用C语言提供的将字符串转换为整数的函数)。
例如,若输入字符串“-1234”,则函数把它转换为整数值-1234。
long fun(char *p){int i,len,t;long x=0;len=strlen(p);if(p[0]==‘-‗){ t=-1;len--;p++;}else t=1;while(*p)x=x*10-48+(*p++);return x*t;}1. 给定程序中,函数fun的功能是将形参给定的字符串、整数、浮点数写到文本文件中,再用字符方式从此文本文件中逐个读入并显示在终端屏幕上。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。
第1 处FILE * fp;第2 处while (!feof(fp)) {第3 处putchar(ch); ch = fgetc(fp); }2.程序修改给定程序MODI1.C中函数fun的功能是:依次取出字符串中所有数字字符,形成新的字符串,并取代原字符串。
2011年计算机等级二级C语言课后练习题及答案解析(1)
2.下列说法中正确的是【 】。
A) C程序书写时,不区分大小写字母
B) C程序书写时,一行只能写一个语句
C) C程序书写时,一个语句可分成几行书写
D) C程序书写时每行必须有行号
分析:C语言严格区分大小写字母,如"A1"和"a1"被认为是两个不同的标识符,C程序的书写非常灵活,既可以一行多句,又可以一句多行,且每行不加行号。
本题正确答案为A。
7.二进制数00110101转换成八进制数是【 】。
A) 055 B) 065 C) 056 D) 152
分析:二进制数化成八进制数的方法是:从右向左划分,将每3位二进制数书写成1位八进制数。
本题正确答案为B。
8.将二进制数1011011.011转换成十进制数是【 】。
本题正确答案为C。
10.一个字长的二进制位数是【 】。
A) 2个BYTE,即16个bit B) 3个BYTE,即24个bit C) 4个BYTE,即32个bit D) 随计算机系统不同而不同
分析:一个二进制位也称做1bit,八个二进制位称做1个BYTE,即所说的一个字节,BYTE和bit有固定的换算关系,但是计算机中的字长WORD和字节BYTE没有固定的换算关系,字长WORD是随CPU型号而异的。
printf("%d\\n",k);
}
分析在C语言中当3个加号或3个减号连在一起时,中间的符号归属左边的变量,即-i---j相当于-(i--)-j。
本题正确答案为 【5】-j 。
本题正确答案为【2】 3.500000
3.若执行下面程序段后的输出为:3,4,5,请填空。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
鄂州高新技术学校1001班
C语言第四章试题
姓名分数
一、编写程序求1+2+3+4+5的值。
(10分)
二、编写程序求1!+2!+3!+4!+5!的值。
(10分)
三、编写程序,输入一个数,按相反次序输出。
(10分)四、编写程序,从键盘上输入10个整数,求其和。
(10分)
五、编写程序,输入两个整数,求它们的最大公约数。
(10分)
六、找出1~100之间的所有素数。
(10分)
七、公鸡5元一只、母鸡3元一只、小鸡1元3只。
编写程序,找出100元买100只鸡的所有方法。
(10分)
八、编写程序,输入10个整数,统计其中正数和负数各多少个。
(10分)九、已知华氏温度F与摄氏温度C的关系是:C=5/9*(F-32)。
编写程序,计算华氏温度F为-50、-40、-30、…、50度时的摄氏温度C的值。
(10分)
十、编写程序,输入一行字符,分别统计其中的英文字母、数字和其他字符的个数。
(10分)。