1. 网易云课堂c语言提交通不过
时间溢出了,使用辗转相除法就能过
2. C语言考试要考什么
主要是笔试和上机:
理论先行
虽是上机考试,仍需以理论知识为基础,所以必须将C语言教材从头到尾学习一遍(应选择权威教材),如谭浩强的C程序设计(没有的可以到 http://www.labkt.com/books/html/booklist_1_1.html下载),对C语言的基本概况做到心中有数。
学完教材后,选取一些有代表性的编程范例,如经典百例或南开百题( http://www.labkt.com/c/jc.html),将其语句逐条理解透彻。同时还须注意一点,看的懂未必等于自己就会编写,应当自己尝试默写,从而找出知识薄弱点、思维盲点。
要养成一些良好习惯,比如,代码书写格式使用规范的锯齿形,尽量使用完整表达。如果采用简化方式,虽然不一定影响运算结果,但有的考试评分标准是按答题要点给分,所以还是不省为妙。
以下是学习C语言过程中容易出现的问题:
1.函数、变量使用前未定义。
2.混淆“=”和“= =”。
3.语句后或预定义的函数名后漏掉分号。
4.将else拼写成esle、continue拼写成contiune。
5.括号搭配错误。
6.首地址理解为1。
7. p++与++p区别不清。
8. break、continue运用不当。
9.误将单引号用于字符串常量,将双引号用于字符常量。
10. else分句中嵌套条件语句时,漏掉了“if”。
上机实践
虽然考点、培训点一般都提供模拟上机,但毕竟时间、地点受到限制,不能保证充分的练习时间,因此很多考生都希望能在自家电脑上进行操作实践,下面具体谈谈如何实现在个人电脑上进行练习的方法。
一、简易环境练习
系统要求:Windows系统
需用软件:Turbo C 2.0 ( http://www.labkt.com/c/tc2.html)
TC软件虽然不是标准的Windows程序,但在Windows环境下依然可以使用。为使软件处于理想运行状态,运行tc.exe后需要做一些设置:
1.按“汉”按钮,否则会出现部分乱码。
2.点击属性按钮,在程序选项卡的“工作目录”栏中根据上一命令行填入程序所在目录,“运行”栏选择最大化,选择“退出时关闭”。
设置好后即可依照练习册输入习题,进行编译调试。编程中用到的处理数据一般需自建。为了提高效率,可从网上下载习题。这里应留意一些下载习题中的问题,比如遗漏字符、录入错误等,还有一些不易发现的情况,像双引号的字体不标准、文件扩展名前的句号成了逗号、甚至一些看似无内容的空行中包含着某些ASCII码,都会影响编程结果。
二、全真环境练习
系统要求:DOS系统
需用软件:Turbo C 2.0、UCDOS、上机模拟软件
经过基础阶段学习后,再来进行针对等级考试的练习,这就需要用到模拟软件了。市面上模拟软件很容易买到,其操作界面与正式考试完全一样,还往往汇集了丰富的题库和答案、源程序、输入数据,并可进行自我评分。有的还提供笔试题知识点查询,介绍考试技巧等。
使用模拟软件前,应先安装UCDOS(这与真实考试要求一样,须选5.0以上版本,而且最好采用正式版,否则可能影响软件使用)。通常情况下在Windows环境下是无法使用模拟软件的,经过一些专业设置后虽可实现,但仅限于Windows 9X操作系统,而且设置不当易使系统崩溃,所以笔者建议还是在纯DOS环境下使用为妥。
3. 求C语言基础知识试题~急!!!
◆ 基本要求
1.熟悉 Visual C++ 6.0 集成开发环境。
2.掌握结构化程序设计的方法,具有良好的程序设计风格。
3.掌握程序设计中简单的数据结构和算法并能阅读简单的程序。
4.在 Visual C++ 6.0 集成环境下,能够编写简单的C程序,并具有基本的纠错和调试程序的能力
◆ 考试内容
一、C语言程序的结构
1.程序的构成,main函数和其他函数。
2.头文件,数据说明,函数的开始和结束标志以及程序中的注释。
3.源程序的书写格式。
4.C语言的风格。
二、数据类型及其运算
1.C的数据类型(基本类型,构造类型,指针类型,无值类型)及其定义方法。
2.C运算符的种类、运算优先级和结合性。
3.不同类型数据间的转换与运算。
4.C表达式类型(赋值表达式,算术表达式,关系表达式,逻辑表达式,条件表达式,逗号表达式)和求值规则。
三、基本语句
1.表达式语句,空语句,复合语句。
2.输入输出函数的调用,正确输入数据并正确设计输出格式。
四、选择结构程序设计
1.用if语句实现选择结构。
2.用switch语句实现多分支选择结构。
3.选择结构的嵌套。
五、循环结构程序设计
1.for循环结构。
2.while和do-while循环结构。
3.continue语句和break语句。
4.循环的嵌套。
六、数组的定义和引用
1.一维数组和二维数组的定义、初始化和数组元素的引用。
2.字符串与字符数组。
七、函数
1.库函数的正确调用。
2.函数的定义方法。
3.函数的类型和返回值。
4.形式参数与实在参数,参数值传递。
5.函数的正确调用,嵌套调用,递归调用。
6.局部变量和全局变量。
7.变量的存储类别(自动,静态,寄存器,外部),变量的作用域和生存期。
八、编译预处理
1.宏定义和调用(不带参数的宏,带参数的宏)。
2.“文件包含”处理。
九、指针
1.地址与指针变量的概念,地址运算符与间址运算符。
2.一维、二维数组和字符串的地址以及指向变量、数组、字符串、函数、结构体的指针变量的定义。通过指针引用以上各类型数据。
3.用指针作函数参数。
4.返回地址值的函数。
5.指针数组,指向指针的指针。
十、结构体(即“结构”)与共同体(即“联合”)
1.用typedef说明一个新类型。
2.结构体和共用体类型数据的定义和成员的引用。
3.通过结构体构成链表,单向链表的建立,结点数据的输出、删除与插入。
十一、位运算
1.位运算符的含义和使用。
2.简单的位运算。
十二、文件操作
只要求缓冲文件系统(即高级磁盘I/O系统),对非标准缓冲文件系统(即低级磁盘I/O系统)不要求。
1.文件类型指针(FILE类型指针)。
2.文件的打开与关闭(fopen,fclose)。
3.文件的读写(fputc,fgetc,fputs,fgets,fread,fwrite,fprintf,fscanf函数的应用),文件的定位(rewind,fseek函数的应用)。
◆ 考试方式
1.笔试:90分钟,满分100分,其中含公共基础知识部分的30分。
2.上机:90分钟,满分100分
3、上机操作包括:
(1)填空。
(2)改错。
(3)编程
推荐复习教材《C程序设计》谭浩强主编
4. c语言考试,求答案,急!!急!!
一、选择题((1)—(40)每题1分,(41)—(50)每题2分,共60分)
下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。
(1) 在32位计算机中,一个字长所占的字节数为( )。
A) 1
B) 2
C) 4
D) 8
(2) 与十进制数511等值的十六进制数为( )。
A) 1FF
B) 2FF
C) 1FE
D) 2FE
(3) 能将高级语言编写的源程序转换成目标程序的是( )。
A) 编程程序
B) 编译程序
C) 解释程序
D) 链接程序
(4) 在计算机系统中,存储一个汉字的国标码所需要的字节数为( )。
A) 1
B) 2
C) 3
D) 4
(5) 下列带有通配符的文件名中,能表示文件ABC.TXT的是( )。
A) *BC.?
B) A?.*
C) ?BC.*
D) ?.?
(6) 在多媒体计算机系统中,不能用以存储多媒体信息的是( )。
A) 光缆
B) 软盘
C) 硬盘
D) 光盘
(7) DOS命令“COPY/?”的功能是( )。
A) 将当前盘当前目录中的所有文件复制到当前盘的根目录下
B) 将当前盘当前目录中所有以单个字符命名的文件复制到当前盘的根目录下
C) 以提示方式复制文件
D) 显示COPY命令的帮助信息
(8) 在Windows环境下,若要将当前活动窗口存入剪贴板,则可以按( )。
A) Ctrl+PrintScreen键
B) Ctrl+PrintScreen键
C) Shift+PrintScreen键
D) PrintScreen键
(9) 在Windows环境下,单击当前应用程序窗口中的“关闭”按钮,其功能是( )。
A) 将当前应用程序转为后台运行
B) 退出Windows后再关机
C) 退出Windows后重新启动计算机
D) 终止当前应用程序的运行
(10) 在Windows环境中,粘贴按钮是( )。
A) ctrl+A
B) ctrl+C
C) ctrl+X
D) ctrl+V
(11) 以下叙述中正确的是( )。
A) 构成C程序的基本单位是函数
B) 可以在一个函数中定义另一个函数
C) main()函数必须放在其它函数之前
D) 所有被调用的函数一定要在调用之前进行定义
(12) 以下选项中合法的实型常数是( )。
A) 5E2.0
B) E-3
C) .2E0
D) 1.3E
(13) 以下选项中合法的用户标识符是( )。
A) long
B) _2Test
C) 3Dmax
D) A.dat
(14) 已知大写字母A的ASCII码值是65,小写字母a的ASCII码是97,则用八进制表示的字符常量‘\101’是( )。
A) 字符A
B)字符a
C)字符e
D)非法的常量
(15) 以下非法的赋值语句是( )。
A) n=(i=2,++i);
B)j++;
C) ++(i+1);
D)x=j>0;
(16) 设a和b均为double型变量,且a=5.5、b=2.5,则表达式(int)a+b/b的值是( )。
A)6.500000
B)6
C) 5.500000
D) 6.000000
(17) 已知i、j、k为int型变量,若从键盘输入:1,2,3<回车>,使i的值为1、j的值为2、k的值为3,以下选项中正确的输入语句是( )。
A) scanf(“%2d%2d%2d”,&i,&j,&k);
B) scanf(“%d %d %d”,&i,&j,&k);
C) scanf(“%d,%d,%d”,&i,&j,&k);
D) scanf(“i=%d,j=%d,k=%d”,&i,&j,&k);
(18) 与数学式子 对应的C语言表达式是( )。
A) 3*x^n(2*x-1)
B) 3*x**n(2*x-1)
C) 3*pow(x,n)*(1/(2*x-1))
D) 3*pow(n,x)/(2*x-1)
(19) 设有定义:long x=-123456L;,则以下能够正确输出变量x值的语句是( )。
A)printf(“x=%d\n”,x);
B) printf(“x=%1d\n”,x);
C)printf(“x=%8dL\n”,x);
D)printf(“x=%LD\n”,x);
(20) 若有以下程序:
main()
{ int k=2,i=2,m;
m=(k+=i*=k);printf(“%d,%d\n”,m,i);
}
执行后的输出结果是( )。
A) 8,6
B) 8,3
C) 6,4
D) 7,4
(21) 已有定义:int x=3,y=4,z=5;,则表达式!(x+y)+z-1 && y+z/2的值是( )。
A) 6
B) 0
C) 2
D) 1
(22) 有一函数, ,以下程序段中不能根据x值正确计算出y值的是( )。
A) if(x>0) y=1; B) y=0;
else if(x==0) y=0; if(x>0) y=1;
else y=-1; else if(x<0) y=-1;
C)y=0; D)if(x>=0)
if(x>=0); if(x>0) y=1;
if(x>0) y=1 ; else y=0;
else y=-1; else y=-1;
(23) 以下选项中,与k=n++完全等价的表达式是( )。
A) k=n,n=n+1
B) n=n+1,k=n
C) k=++n
D) k+=n+1
(24) 以下程序的功能是:按顺序读入10名学生4门课程的成绩,计算出每位学生的平均分并输出,程序如下:
main()
{ int n,k;
float score ,sum,ave;
sum=0.0;
for(n=1;n<=10;n++)
{ for(k=1;k<=4;k++)
{ scanf(“%f”,&score); sum+=score;}
ave=sum/4.0;
printf(“NO%d:%f\n”,n,ave);
}
}
上述程序运行后结果不正确,调试中发现有一条语句出现在程序中的位置不正确。这条语句是( )。
A) sum=0.0;
B) sum+=score;
C) ave=sun/4.0;
D) printf(“NO%d:%f\n”,n,ave);
(25) 有以下程序段
int n=0,p;
do{scanf(“%d”,&p);n++;}while(p!=12345 &&n<3);
此处do—while循环的结束条件是( )。
A) P的值不等于12345并且n的值小于3
B) P的值等于12345并且n的值大于等于3
C) P的值不等于12345或者n的值小于3
D) P的值等于12345或者n的值大于等于3
(26) 有以下程序
main()
{ int a=15,b=21,m=0;
switch(a%3)
{ case 0:m++;break;
case 1:m++;
switch(b%2)
{ default:m++;
case 0:m++;break;
}
}
printf(“%d\n”,m);
}
程序运行后的输出结果是( )。
A) 1
B) 2
C) 3
D) 4
(27) C语言中,函数值类型的定义可以缺省,此时函数值的隐含类型是( )。
A) void
B) int
C) float
D) double
(28) 若有说明:int n=2,*p=&n,*q=p;,则以下非法的赋值语句是( )。
A) p=q;
B) *p=*q;
C) n=*q;
D) p=n;
(29) 有以下程序
float fun(int x,int y)
{ return(x+y); }
main()
{ int a=2,b=5,c=8;
printf(“%3.0f\n”,fun(int)fun(a+c,b),a-c));
}
程序运行后的输出结果是( )。
A) 编译出错
B) 9
C) 21
D) 9.0
(30) 有以下程序
void fun(char *c,int d)
{ *c=*c+1;d=d+1;
printf(“%c,%c,”,*c,d);
}
main()
{ char a=’A’,b=’a’;
fun(&b,a); printf(“%c,%c\n”,a,b);
}
程序运行后的输出结果是( )。
A)B,a,B,a
B) a,B,a,B
C) A,b,A,b
D) b,B,A,b
(31) 以下程序中函数sort的功能是对a所指数组中的数据进行由大到小的排序
void sort(int a[],int n)
{ int i,j,t;
for(i=0;i
for(j=i+1,j
if(a[i]
}
main()
{ int aa[10]={1,2,3,4,5,6,7,8,9,10},i;
sort(&aa[3],5);
for(i=o;i<10;i++) print(“%d,”,aa[i]);
printf(‘\n”);
}
程序运行后的输出结果是( )。
A)1,2,3,4,5,6,7,8,9,10
B) 10,9,8,7,6,5,4,3,2,1,
C) 1,2,3,8,7.6.5.4.9,10
D) 1,2,10,9,8,7,6,5,4,3
(32) 有以下程序
int f(int n)
{ if (n==1) return 1;
else return f(n-1)+1;
}
main()
{ int i,j=0;
for(i=i;i<3;i++) j+=f(i);
printf(“%d\n”,j);
}
程序运行后的输出结果是( )。
A) 4
B) 3
C) 2
D) 1
(33) 有以下程序
main()
{ char a[ ]={‘a’,‘b’,‘c’,‘d’, ‘e’, ‘f’, ‘g’,‘h’,‘\0’}; int i,j;
i=sizeof(a); j=strlen(a);
printf(“%d,%d\b”i,j);
}
程序运行后的输出结果是( )。
A)9,9
B)8,9
C)1,8
D)9,8
(34) 以下程序中函数reverse的功能是将a所指数组中的内容进行逆置。
void reverse(int a[ ],int n)
{ int i,t;
for(i=0;i{ t=a[i]; a[i]=a[n-1-i];a[n-1-i]=t;}
}
main()
{ int b[10]={1,2,3,4,5,6,7,8,9,10}; int i,s=0;
reverse(b,8);
for(i=6;i<10;i++) s+=b[i];
printf(“%d\n”,s);
}
程序运行后的输出结果是( )。
A) 22
B) 10
C) 34
D) 30
(35) 有以下程序
main()
{ int aa[4][4]={{1,2,3,4},{5,6,7,8},{3,9,10,2},{4,2,9,6}};
int i,s=0
for(i=0;i<4;i++) s+=aa[i][1];
printf(“%d\n”,s);
}
程序运行后的输出结果是( )。
A) 11
B) 19
C) 13
D) 20
(36) 有以下程序
#include
main()
{ char *p=“abcde\Ofghjik\0”;
printf(“%d\n”,strlen(p));
}
程序运行后的输出结果是( )。
A) 12
B) 15
C) 6
D) 5
(37) 程序中头文件typel.h 的内容是:
#define N 5
#define M1 N*3
程序如下:
#define “type1.h”
#define M2 N*2
main()
{ int i;
i=M1+M2; printf(“%d\n”,i);
}
程序编译后运行的输出结果是:( )。
A) 10
B) 20
C) 25
D) 30
(38) 有以下程序
#include
main()
{ FILE *fp; int i=20,j=30,k,n;
fp=fopen(“d1.dat”“w”);
fprintf(fp,“%d\n”,i);fprintf(fp,“%d\n”j);
fclose(fp);
fp=fopen(“d1.dat”, “r”);
fp=fscanf(fp,“%d%d”,&k,&n); printf(“%d%d\n”,k,n);
fclose(fp);
}
程序运行后的输出结果是( )。
A) 20 30
B) 20 50
C) 30 50
D) 30 20
(39) 以下叙述中错误的是( )。
A) 二进制文件打开后可以先读文件的末尾,而顺序文件不可以
B) 在程序结束时,应当用fclose函数关闭已打开的文件
C) 在利用fread函数从二进制文件中读数据时,可以用数组名给数组中所有元素读入数据
D) 不可以用FILE定义指向二进制文件的文件指针
(40) 有以下程序
#include
main(int argc,char *argv[])
{ int i,len=0;
for(i=1;iprintf(“%d\n”,len);
}
程序编译连接后生成的可执行文件是ex1.exe,若运行时输入带参数的命令行是:
ex1 abcd efg 10<回车>
则运行的结果是:( )。
A) 22
B) 17
C) 12
D) 9
(41) 有以下程序
int fa(int x)
{ return x*x; }
int fb(int x)
{ return x*x*x; }
int f(int (*f1)(),int (*f2)(),int x)
{ return f2(x)-f1(x); }
main()
{ int i;
i=f(fa,fb,2); printf(“%d\n”,i);
}
程序运行后的输出结果是( )。
A) -4
B) 1
C) 4
D) 8
(42) 有以下程序
int a=3;
main()
{ int s=0;
{ int a=5; s+=a++; }
s+=a++;printf(“%d\n”,s);
}
程序运行后的输出结果是( )。
A) 8
B) 10
C) 7
D) 11
(43) 有以下程序
void ss(char *s,char t)
{ while(*s)
{ if(*s==t) *s=t-‘a’+’A’;
s++;
}
}
main()
{ char str1[100]=“abcddfefdbd”,c=’d’;
ss(str1,c); printf(“%s\n”,str1);
}
程序运行后的输出结果是( )。
A) ABCDDEFEDBD
B) abcDDfefDbD
C) abcAAfefAbA
D) Abcddfefdbd
(44) 有以下程序
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.00
B) 270.00
C) 280.00
D) 285.00
(45) 设有如下定义:
struck sk
{ int a;
float b;
}data;
int *p;
若要使P指向data中的a域,正确的赋值语句是( )。
A) p=&a;
B) p=data.a;
C) p=&data.a;
D) *p=data.a;
(46) 有以下程序
#include
struct 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) 10
B) 20
C) 30
D) 40
(47) 若有以下说明和定义
typedef int *INTEGER;
INTEGER p,*q;
以下叙述正确的是( )。
A) P是int型变量
B) p是基类型为int的指针变量
C) q是基类型为int的指针变量
D) 程序中可用INTEGER代替int类型名
(48) 有以下程序
main()
{ unsigned char a,b,c;
a=0x3; b=a|0x8; c=b<<1;
printf(“%d%d\n”,b,c);
}
程序运行后的输出结果是( )。
A) –11 12
B) –6 –13
C) 12 24
D) 11 22
(49) 有以下程序
#include
main()
{ 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 def
B) abc def
C) abc d
D) d d
(50) 以下程序中函数f的功能是将n个字符串按由大到小的顺序进行排序。
#include
void f(char p[][10],int n)
{ char t[20]; int i,j;
for(i=0;ifor(j=i+1;jif(strcmp(p[i],p[j])<0)
{ strcpy(t,p[i]);strcpy(p[i],p[j]);strcpy(p[j],t);}
}
main()
{ char p[][10]={“abc”,“aabdfg”,“abbd”,“dcdbe”,“cd”};int i;
f(p,5); printf(“%d\n”,strlen(p[0]));
}
程序运行后的输出结果是( )。
A) 6
B) 4
C) 5
D) 3
二、填空题(每空2分,共40分)
请将答案分别写在答题卡中序号为【1】至【20】的横线上,答在试卷上不得分。
1、计算机软件分为系统软件和应用软件,操作系统属于 [1] 。
2、在DOS环境下,代表键盘和显示器的设备文件名为 [2] 。
3、支持Internet基本服务的协议是 [3] 。
4、从Windows环境进入MS-DOS方式后,返回Windows环境的DOS命令为 [4] 。
5、某微型机的运算速度为2MIPS,则该微型机每秒执行 [5] 条指令。
6、设有定义:int n,*k=&n;以下语句将利用指针变量k读写变量n中的内容,请将语句补充完整。
scanf(“%d, ” [6] );
printf(“%d\n”, [7] 。);
7、以下程序运行后的输出结果是 [8] 。
main()
{ int x=10,y=20,t=0;
if(x==y)t=x;x=y;y=t;
printf(“%d,%d \n”,x,y);
}
8、以下程序运行后的输出结果是 [9] 。
main()
{ int x=15;
while(x>10 && x<50)
{ x++;
if(x/3){x++;break;}
else continue;
}
printf(“%d\n”,x);
}
9、有以下程序:
#include
main()
{ char c;
while((c=getchar( ))!=’?’) putchar(--c);
}
程序运行时,如果从键盘输入:Y?N?<回车>,则输出结果为 [10] 。
10、以下程序运行后的输出结果是 [11] 。
void fun(int x,int y)
{ x=x+y;y=x-y;x=x-y;
printf(“%d,%d,”,x,y); }
main()
{ int x=2,y=3;
fun(x,y);
printf(“%d,%d\n”,x,y);
}
11、以下函数的功能是计算s=1+ + +……+ ,请填空。
double fun(int n)
{ double s=0.0,fac=1.0; int i;
for(i=1,i<=n;i++)
{ fac=fac [12] ;
s=s+fac;
}
return s;
}
12 fun函数的功能是:首先对a所指的N行N列的矩阵,找出各行中的最大的数,再求这N个最大值中的最小的那个数作为函数值返回。请填空。
#include
#define N 100
int fun(int(*a)[N])
{ int row,col,max,min;
for(row=0;row{ for(max=a[row][0],col=1;colif( [13] )max=a[row][col];
if( row==0)min=max;
else if( [14] )min=max;
}
return min;
}
13、函数sstrcmp()的功能是对两个字符串进行比较。当s所指字符串和t所指字符串相等时,返回值为0;当s所指字符串大于t所指字符串时,返回值大于0;当s所指字符串小于t所指字符串时,返回值小于0(功能等同于库函数strcmp())。请填空。
#include
int sstrcmp(char *s,char *t)
{ while(*s&&*t&& *s== [15] )
{ s++;t++;}
return [16] ;
}
14、下面程序的运行结果是 [17] 。
#define N 10
#define s(x) x*x
#define f(x) (x*x)
main()
{ int i1,i2;
i1=1000/s(N); i2=1000/f(N);
printf(“%d %d\n”,i1,i2);
}
15、下面程序的运行结果是: [18] 。
void swap(int *a,int *b)
{ int *t;
t=a; a=b; b=t;
}
main()
{ int x=3,y=5,*p=&x,*q=&y;
swap(p,q);
printf(“%d%d\n”,*p,*q);
}
16、下面程序的运行结果是: [19] 。
typedef union student
{ char name[10];
long sno;
char sex;
float score[4];
}STU;
main()
{ STU a[5];
printf(“%d\n”,sizeof(a));
}
(17) 函数sstrcmp()的功能是对两个字符串进行比较。当s 所指字符串和t所指字符相等时,返回值为0;当s所指字符串大于t所指字符串时,返回值大于0;当s所指字符串小于t所指字符串时,返回值小于0(功能等同于库函数strcmp())。请填空。
#include <stdio.h>
int sstrcmp(char *s,char *t)
{while(*s&&*t&&*s==【19】)
{s++;t++; }
return 【20】;
}
5. c语言考试流程
计算机二级C语言考试的流程:
1. 笔试:90分钟,满分100分,其中含公共基础知识部分的30分。
2. 上机操作:90分钟,满分100分。
上机操作包括:
(1) 基本操作。
(2) 简单应用。
(3) 综合应用。
计算机二级C语言考试内容 :
一、C语言程序的结构
1.程序的构成,main函数和其他函数。
2.头文件,数据说明,函数的开始和结束标志以及程序中的注释。
3.源程序的书写格式。
4.C语言的风格。
二、数据类型及其运算
1.C的数据类型(基本类型,构造类型,指针类型,无值类型)及其定义方法。
2.C运算符的种类、运算优先级和结合性。
3.不同类型数据间的转换与运算。
4.C表达式类型(赋值表达式,算术表达式,关系表达式,逻辑表达式,条件表达式,逗号表达式)和求值规则。
三、基本语句
1.表达式语句,空语句,复合语句。
2.输入输出函数的调用,正确输入数据并正确设计输出格式。
四、选择结构程序设计
1.用if语句实现选择结构。
2.用switch语句实现多分支选择结构。
3.选择结构的嵌套。
五、循环结构程序设计
1.for循环结构。
2.while和do-while循环结构。
3.continue语句break语句。
4.循环的嵌套。
六、数组的定义和引用
1.一维数组和二维数组的定义、初始化和数组元素的引用。
2.字符串与字符数组。
七、函数
1.库函数的正确调用。
2.函数的定义方法。
3.函数的类型和返回值。
4.形式参数与实在参数,参数值的传递。
5.函数的正确调用,嵌套调用,递归调用。
6.局部变量和全局变量。
7.变量的存储类别(自动,静态,寄存器,外部),变量的作用域和生存期。
八、编译预处理
1.宏定义和调用(不带参数的宏,带参数的宏)。
2.“文件包含”处理。
九、指针
1.地址与指针变量的概念,地址运算符与间址运算符。
2.一维。二维数组和字符串的地址以及指向变量、数组、字符串、函数、结构体的指针变量的定义。通过指针引用以上各类型数据。
3.用指针作函数参数。
4.返回地址值的函数。
5.指针数组,指向指针的指针。
十、结构体(即“结构”)与共同体(即:“联合”)
1.用typedef说明一个新类型。
2.结构体和共用体类型数据的定义和成员的引用。
3.通过结构体构成链表,单向链表的建立,结点数据的输出、删除与插入。
十一、位运算
1.位运算符的含义和使用。
2.简单的位运算。
十二、文件操作
只要求缓冲文件系统(即高级磁盘I/O系统),对非标准缓冲文件系统(即低级磁盘I/O系统)不要求。
1.文件类型指针(FILE类型指针)。
2.文件的打开与关闭(fopen,fclose)。
3.文件的读写(fputc,fgetc,fputs,fgets,fread,fwrite,fprintf,fscanf函数的应用),文件的定位(rewind,fseek函数的应用)。
6. C语言考试卷。。。请教各位大仙!!
16 A 17 D 19 C 20 C
22 B 23 D 24 C 25 A
27 B 28 B 29 C
35 题:
#include"stdio.h"
main()
{ int year,mon;
scanf("%d%d",&year,&mon);
switch(mon)
{ case 1:case 3: case 5: case 7:case 8: case 10: case 12: printf("%d",31);break;
case 4:case 6: case 9: case 11: printf("%d",30);break;
case 2:
if(year%4==0 && year%100!=0 || year%400==0) printf("%d",29);
else printf("%d",28);
}
}
36 题:
#include "stdio.h"
#include "conio.h"
main()
{
long g,s,q,w,x;
scanf("%ld",&x);
w=x/10000;
q=x%10000/1000;
s=x%100/10;
g=x%10;
if(g==w&&s==q)/*个位等于万位并且十位等于千位*/
printf("它是回文数\n");
else
printf("它不是回文数\n");
getch();
}
7. C语言考试题
//word编辑,大小写可能有问题
一、填空题
1、一个C语言程序的语句至少应包含一个__函数____。
2、C语言源程序文件的扩展名是__ .C ____,经过编译、连接后,生成文件的扩展名是__编译后为.obj 连接后为.exe ____。
3、结构化程序由 顺序 、___选择___和___循环___三种基本结构组成。
4、C语言的执行是从__main()函数____开始执行的。
5、C源程序的语句分隔符是___;___。
6、在C语言中,用关键字__float____定义单精度实型变量。
7、表达式S=12应当读做“__把12赋值给变量S____”。
8、C语言源程序的基本单位是___函数___。
9、设int x=9,y=8;表达式x-=y+1的结果是___0___。
10、若a为整型变量,a=12,则表达式:a * =2+3的值___60___。
11、调用C语言对输入输出处理的库函数时,在# include命令行中应包含的头文件是__stdio.h___。
12、表达式9%5的结果是_4____。
13、若a为整型变量,a=12,则表达式:a+=4的值___16___。
14、在C语言中,要求运算数必须是整型的运算符是___%___。
15、在C语言中,用___非0___表示逻辑“真”值。
16、表达式10/3的结果是__3____。
17、通常一个字节包含___8___个二进制位。
18、 假设所有变量均为整型,a=2,b=5,b++则表达式a+b的值是___8___。
19、在C语言中,最基本的数据类型只有四种,它们分别是:___int___、___char___、___float___和double。
20、一个C程序有且仅有一个__main()____函数。
21、若a为整型变量,a=12,则表达式:a-=2的值__10____。
22、在C语言中,有三种逻辑运算符,它们分别是:___!___、___&&___、___||___。
23、在C语言中,字符输入函数和字符输出函数分别是:__getchar()____和___putchar()___。
24、C程序开发的四个步骤是___编辑___、___编译___、___链接___和执行。
25、C程序的结构分别是:顺序结构、__选择结构____、__循环结构____。
26、if语句中的表达式可以是关系表达式、__逻辑表达式____、___条件表达式___。
27、__?:____是C语言中惟一一个三元运算符。
28、C语言提供的预处理命令主要包括如下三种:宏定义、__文件包含____、___条件编译___。
二、阅读程序,写出下列程序运行结果。
1、2
2、K
3、a 97
4、无结果
三、编写程序
1、编写一个C程序,输入a、b、c 3个数,输出其中最大的数。
#include<stdio.h>
Void main()
{
Int a,b,c;
Printf("请输入三个数");
Scanf(%d%d%d,&a,&b,&c);
If(a<b)
A=b;
If(a<c)
A=c;
Printf("最大的数:%d",a);
}
求1—50的之和。
#include<stdio.h>
Void mian()
{
Int sum=0,i;
For(i=1;i<=50;i++)
Sum+=i;
Printf("1-50之和为:%d",sum);
}
从键盘输入一个大写字母,要求改用小写字母输出。
#include<stdio.h>
Void mian()
{
Char c;
Printf("请输入一个字母");
Scanf("%c".&c);
Printf("它的小写字母为%c",c+32);
}
利用while语句,计算1+1/2+1/4+…+1/100的值,并显示出来。
#include<stdio.h>
Void mian()
{
Float sum=0,temp;
Int i =1;
While(i<=100)
{
Temp=1/i;
Sum+=temp;
I++
}
Printf("结果为%d",sum);
}
输入两个整数,输出其中的大数。
#include<stdio.h>
Void mian()
{
Int a,b;
Printf("请输入两个数");
Scanf("%d%d".&a,&b);
Printf("大数是:%d"a>b?a:b);
}
6、利用while语句,计算1+1/3+1/5+…+1/99的值,并显示出来。
#include<stdio.h>
Void mian()
{
Int i =1;
Float sum=0,temp=0;
While(i<=99)
{
Temp =1/i;
Sum+=temp;
I=i+2;
}
Printf("结果为: %f",sum),
}
8. C语言课设题--考试系统(有高手帮帮看看)
1)建立考题库
分别用两个模块实现考题的录入功能,如图1,要求用密码确定进入本模块
选择题库用"file1.dat"文件中存放选择题,包括:题号 题目 abc选项内容 正确答案;
在判选择题卷时,把答案结果与file1.dat文件中的正确答案比较,一致给10分 否则给0分
(2)考试答题
其主要功能是考试进入考试题库,开始考试
主要内容包括
确定考生身份,考升首先输入学号和姓名,然后 检查该考生的学号是否已经在文件"num_name.dat"中,如果已经在该文件中,则说明该学生已考过一次,不允许再考.如果考升没有记录,则该考生的学号和姓名存放在num_name.dat中,作为已考过的学生记录
验证考生身份后,开始考试,要求选择题10道,通过调整用文件file1.dat题库,抽取考题,考生答一道,确认一次是否继续,如果继续则再抽去一道题由考生答
最多只能打10道题,系统就推出考试答题
做完题又显示主菜单,但这时不允许再选择考试答踢
选择"显示考试结果"彩单时,要求修改某题目的答案
选择"显示本人分数并推出"菜单时,要求显示学生的分数,然后推出本系统
(3)统计分析
统计分析是为管理者设计的,系统首先确定管理者身份后才能进入本模块,如果密码不正确,程序不能进入本模块,返回到主菜单.主要包括:显示所有考生分数,考生信息查询
显示所有考生分数,分屏幕显示所有已考试学生的学号 姓名 分数
考生信息查询,可以按学号查询某考生,并显示该考生的学号 姓名 分数 各题目 正确答案和考生答案,如果是选择题 还显示abcd选项内容
(4)选择0.退出系统
以下是3个有关的图 请高手帮忙啊
|-----------------------------------|
| 请输入选项编号(0--3) |
|-----------------------------------|
| 1---建立试题库 |
| 2---考试答题 |
| 3---统计分析 |
| 0---退出 |
|-----------------------------------|
|----------------------------------|
| 请输入选项编号(0-4) |
|----------------------------------|
| 1---开始作题 |
| 2---显示作题结果 |
| 3---修改答案 |
| 4---显示本人分数并退出 |
| 0---退出 |
9. C语言考试
1、一个C语言程序的语句至少应包含一个___main函数___。
2、C语言源程序文件的扩展名是__
.C
____,经过编译、连接后,生成文件的扩展名是__
.h
____。
3、结构化程序由顺序结构、___选择___和___循环___三种基本结构组成。
4、C语言的执行是从____main函数__开始执行的。
5、C源程序的语句分隔符是___分号___。
6、在C语言中,用关键字_____float_定义单精度实型变量。
7、表达式S=12应当读做“___把12赋值给S___”。
8、C语言源程序的基本单位是___函数___。
9、设int
x=9,y=8;表达式x-=y+1的结果是___0___。
10、若a为整型变量,a=12,则表达式:a
*
=2+3的值___60__。
11、调用C语言对输入输出处理的库函数时,在#
include命令行中应包含的头文件是___stdio.h___。
12、表达式9%5的结果是__4____。
13、若a为整型变量,a=12,则表达式:a+=4的值_16_____。
14、
在C语言中,要求运算数必须是整型的运算符是__%____。
15、在C语言中,用____非零整数__表示逻辑“真”值。
16、表达式10/3的结果是__3____。
17、通常一个字节包含__8____个二进制位。
18、
假设所有变量均为整型,a=2,b=5,b++则表达式a+b的值是_8_____。
19、在C语言中,最基本的数据类型只有四种,它们分别是:_int_____、___float___、__char____和double。
20、一个C程序有且仅有一个____main__函数。
21、若a为整型变量,a=12,则表达式:a-=2的值_10____。
22、在C语言中,有三种逻辑运算符,它们分别是:__与____、___或___、__非____。
23、在C语言中,字符输入函数和字符输出函数分别是:__getchar____和___putchar___。
24、C程序开发的四个步骤是___输入与编辑源程序___、__编译____、__连接____和执行。
25、C程序的结构分别是:顺序结构、__选择结构____、__循环结构____。
26、if语句中的表达式可以是关系表达式、__算术表达式____、__赋值表达式____。
27、__x>y_?x:y___是C语言中惟一一个三元运算符。
28、C语言提供的预处理命令主要包括如下三种:宏定义、__文件包含____、___条件编译___。
二、阅读程序,写出下列程序运行结果。
1、2
2、K
3、a
97
4、无结果
三、编写程序
1、编写一个C程序,输入a、b、c
3个数,输出其中最大的数。
#include<stdio.h>
Void
main()
{
Int
a,b,c;
Printf("请输入三个数");
Scanf(%d%d%d,&a,&b,&c);
If(a<b)
A=b;
If(a<c)
A=c;
Printf("最大的数:%d",a);
}
求1—50的之和。
#include<stdio.h>
Void
mian()
{
Int
sum=0,i;
For(i=1;i<=50;i++)
Sum+=i;
Printf("1-50之和为:%d",sum);
}
从键盘输入一个大写字母,要求改用小写字母输出。
#include<stdio.h>
Void
mian()
{
Char
c;
Printf("请输入一个字母");
Scanf("%c".&c);
Printf("它的小写字母为%c",c+32);
}
利用while语句,计算1+1/2+1/4+…+1/100的值,并显示出来。
#include<stdio.h>
Void
mian()
{
Float
sum=0,temp;
Int
i
=1;
While(i<=100)
{
Temp=1/i;
Sum+=temp;
I++
}
Printf("结果为%d",sum);
}
输入两个整数,输出其中的大数。
#include<stdio.h>
Void
mian()
{
Int
a,b;
Printf("请输入两个数");
Scanf("%d%d".&a,&b);
Printf("大数是:%d"a>b?a:b);
}
6、利用while语句,计算1+1/3+1/5+…+1/99的值,并显示出来。
#include<stdio.h>
Void
mian()
{
Int
i
=1;
Float
sum=0,temp=0;
While(i<=99)
{
Temp
=1/i;
Sum+=temp;
I=i+2;
}
Printf("结果为:
%f",sum),
}
10. c语言编程考试
#include<stdio.h>
#include<math.h>
intisPrime(intn){
inti,flag=1;
if(n<2)return0;
for(i=2;i<=sqrt(n)&&flag;++i)
if(n%i==0)flag=0;
returnflag;
}
intmain(){
intn;
FILE*fin=fopen("data.in","rt");
if(fin==NULL){
printf("不能打开文件。 ");
return1;
}
while(!feof(fin)){
if(fscanf(fin,"%d",&n)!=1){
printf(" ");
return2;
}
if(n%2==0)++n;
if(isPrime(n))printf("%d ",n);
}
printf(" ");
fclose(fin);
return0;
}