急求解答:C语言程序设计试题 请专长人士帮忙解答 谢!!!

急求解答:C语言程序设计试题 请专长人士帮忙解答 谢!!!,第1张

一、填空题

1一个函数一般由两部分组成,它们分别是函数名和函数体。

2一个C语言的程序至少应包含一个主函数。

3函数体用{符号开始,用}符号结束。

4欲将一个16位二进制的整数变量的高8位清零,而只保留低8位,可用的方法是和0x00ff进行与运算。

5数组在内存中是一块连续的储存区,数组名代表首地址。

6函数直接或间接的自己调用自己,被称作函数的递归调用。

7函数在内部定义只在本函数内有效的变量叫内部变量,在函数以外定义的变量叫外部变量。

二、选择题

1下列变量中合法的是(没对的,A改成B_C_Tom就对,C改成_6a7b对)

A BCTom B3a6b C-6a7b D $ABC

2下面两对用户定义标识符哪个可读性最强(c)

A cheackquality B salarytotal C check-quality D sa-la-ry-tot-al

3设 int m=10,则下列表达式的值不等于0的有(D)

A m=10/110 B m==8 C ~m&m D ~(m|m)

4设 int x=25,则表达式 (x&20>>1)|(x>10|7&x^33)的值是(D)

A 35 B 43 C 42 D 41

5C语言中,逻辑“真”等价于(C)

A 大于0的数 B大于0的整数 C非0的数 D 非0的整数

6有段程序:int x=20; do{x/=2;}while(x--);请问此循环执行(A)次。

A 4 B 3 C 5 D不确定

7下面选项中,于if(a)等价的是(C)

A if(a==0) Bif(a!=0) Cif(a=0) D if(a==1)

8为判断字符串s1是否大于字符串s2,正确的语句是(C)

Aif(s1>s2) Bif(strlen (s1)>strlen(s2)) Cif(strcmp (s1,s2)>0) Dif (strcmp (s1,s2)==1)

D

B

C

D

此题有歧意,本意可能让选C,但在标识符中间不得有注释;D又不对,起码得有个空main

C

D

A

一天了没人做,我来做做……

#define Size 64

#include<stdioh>

int main()

{

char buf[Size],fn1[]="poem1txt",fn2[]="poem2txt";

FILE f1=NULL,f2=NULL;

f1=fopen(fn1,"r");

f2=fopen(fn2,"w+");

while(fgets(buf,Size,f1))

{

fputs(buf,f2);

}

fseek(f2,0,SEEK_SET);

while(fgets(buf,Size,f2))

{

printf("%s",buf);

}

fclose(f1);

fclose(f2);

return 0;

}

1、实验名称:计算出1000以内10个最大素数之和。

2、实验目的:熟练掌握if、if…else、if…else if语句和witch语句格式及使用方法,掌握if语句中的嵌套关系和匹配原则,利用if语句和switch语句实现分支选择结构。熟练掌握while语句、do…while语句和for语句格式及使用方法,掌握三种循环控制语句的循环过程以及循环结构的嵌套,利用循环语句实现循环结构。掌握简单、常用的算法,并在编程过程中体验各种算法的编程技巧。进一步学习调试程序,掌握语法错误和逻辑错误的检查方法。

3、实验内容:计算并输出1000以内最大的10个素数以及它们的和。

4、要求:在程序内部加必要的注释。 由于偶数不是素数,可以不考虑对偶数的处理。 虽然在1000以内的素数超过10个,但是要对1000以内不够10个素数的情况进行处理。 输出形式为:素数1+素数2+素数3+…+素数10=总和值。

5、算法描述流程:Main函数:判断素数:

6、测试数据:分别输入1000、100、10测试。

7、运行结果:出现问题及解决方法:当素数个数小于10时的处理不够完善,考虑不够周全。学习耐心与细心不足,如scanf(“%d”,&n);中的“&”经常忘记。

8、编程思想不够发散,例如如何判断素数,只能想出2种方式(其中1种为参考教科书上内容);在今后学习中应更多的动脑,综合运用所学。

9、基本功不够,如清屏clrscr()等函数用的不好,有时同样的问题多次犯,给实验课老师带来很大的麻烦。这说明我的知识不够广,有很多有用但不做考试要求的书中内容没有学好,认识程度不够深刻。就算以后C语言这门课程结束后,也应多看相关东西,多上机练习,才能真正从本质上提高自己。

10、物理实验报告 ·化学实验报告 ·生物实验报告 ·实验报告格式 ·实验报告模板

11、知识不够广泛,如VC++60等程序,自己试了好一阵也不会用;说明我电脑水平还是不够,自学能力不够。已会的东西掌握的还是不够好。

12、实验心得:通过本次C语言上机实验,我对这个介于人类与非人类之间的计算机编程语言有了一定的体验。其间开心过、郁闷过、无奈过、彷徨过……随着实验的胜利成功与实验报告的胜利完成,有点微微的自豪感使人难忘。感谢高克宁老师的高标准、严要求,感谢实验课上小老师们的耐心指点,也感谢我在实验中经历过的点点滴滴……伴随着学习的深入,我发现高深的东西还有很多很多,等待着我自己去挖掘。对C语言,我会更加努力。

-125=-555

1

字节 二进制

0

1

无表达式,不能解,如有则按C语言运算规则来计算,整型与双精度的一起运算要先换算成双精度的

x(x(x(x(x(x(5x+3)-4)+2)+1)-6)+1)+10

二进制 ASCII

1,-2

没有定义j,无法运行

================================================

分都没有还想让人给你答,就想不劳而获,学习诗歌循序渐进的过程,你现在不学,将来会后悔的

全国高校计算机二级C 考试大纲

基本要求

1 理解C语言程序设计的基本概念、基本知识及特点。

2 理解C语言的数据类型、语句格式及其功能,具有阅读理解简单C程序的能力。

3 掌握结构化程序设计的基本方法,熟练使用C语言编写程序来解决简单的应用问题,并具有良好的程序设计风格。

4 掌握C语言源程序的编译、链接、装配及调试的基本方法,能在 Visual C++ 60、Turbo C 20(或者Turbo C 30)环境下调试简单的C程序,并具有基本的纠错和调试程序的能力。

考试范围

一、C语言程序的格式和程序结构

1 C程序源程序的书写格式和程序结构。

2 main函数、其他函数及头文件的使用。

3 数据说明,函数的开始和结束标志以及程序中的注释。

二、基本数据类型、运算符号及表达式

1 C的基本数据类型(整型,浮点型,字符型)及其定义方法。

2 常量及变量的使用方法。

3 C运算符的种类(算术运算、逻辑运算、关系运算)、运算符的优先级和结合性。

4 各种不同类型数据间的转换及其对结果的影响。

5 C表达式类型(赋值表达式,算术表达式,关系表达式,逻辑表达式,条件表达式,逗号表达式)的组成规则和求值顺序。

三、基本语句

1 表达式语句,空语句,复合语句。

2 格式化输入输出函数和字符输入输出函数的使用。

四、结构化程序设计

1 顺序结构程序设计

2 选择结构程序设计

1)if语句三种形式。

2)开关语句switch实现多分支选择结构。

3)选择结构的嵌套使用。

3 循环结构程序设计

1)用for语句实现循环结构。

2)用while和do-while语句实现循环结构。

3)continue语句和break语句。

4)循环的嵌套使用。

五、数组

1 一维数组和二维数组的定义、初始化和数组元素的引用。

2 字符串与字符数组的使用。

六、函数

1 函数的定义形式。

2 函数的参数(实际参数、形式参数)、函数类型及其返回值。

3 函数的正确调用,嵌套调用,递归调用。

4 变量的作用域(局部变量、全局变量)及其存储类别(自动,静态,寄存器,外部)。

七、编译预处理

1 宏的定义和宏的调用(不带参数的宏,带参数的宏)。

2“文件包含”处理及条件编译。

八、指针

1 地址与指针的概念。

2 指针变量的含义、初始化及指针运算符(地址运算符、间址运算符)。

3 用指针作函数参数。

4 返回地址值的函数。

5 指针与数组、指针与字符串、指针与结构、指针数组的使用。

九、结构体与共用体

1 结构体、共用体和枚举类型的定义。

2 结构体、共用体和枚举变量的声明、引用及初始化。

3 结构体数组的使用。

4 结构体指针变量的说明和使用。

5 动态内存分配及其链表。

6 用typedef类型定义符自行定义一个新类型。

十、文件 *** 作

1 文件的概念及文件类型指针(FILE类型指针)。

2 文件 *** 作函数

1)文件的打开与关闭(fopen,fclose)。

2)文件的字符输入、输出函数(getc、putc)

3)文件的字符串输入、输出函数(gets、puts)

4)文件的格式化输入、输出函数(fprintf、fscanf)

5)文件的读写函数(fread,fwrite,read、write)

6)文件的定位(rewind,fseek)。

考试方式、考试时间和成绩评定

考试方式为笔试,闭卷考试。考试时间120分钟。考试成绩满分为100分,达到或超过60分为考试合格,其中达到或超过85分为优秀。

说明与建议

1 建议学时:72-96学时(其中上机 *** 作不少于36学时)。

2 推荐教材:

《C语言程序设计》(张向利、马杰等编,广西师范大学出版社,2004)。

《C语言程序设计习题解答与实验指导》(马金忠、彭明等编,广西师范大学出版社,2004)。

第一章 程序设计的基本概念

第一节 C语言的发展历史与特点

第二节 程序与程序设计

第三节 算法与算法的描述

第四节 C语言的上机 *** 作

思考题与习题

第二章 C语言程序设计基础

第一节 C语言的程序结构

第二节 数据类型

第三节 运算符与表达式

思考题与习题

第三章 C程序控制结构

第一节 C程序的三种基本控制结构

第二节 顺序结构

第三节 选择结构

第四节 循环结构

思考题与习题

第四章 数组

第一节 数组与数组元素的概念

第二节 一维数组

第三节 二维数组及多维数组

第四节 字符串与字符数组

思考题与习题

第五章 指针

第一节 指针与指针变量的概念

第二节 指针变量的定义和引用

第三节 指针变量与数组

思考题与习题

第六章 函数

第一节 函数的定义

第二节 函数的嵌套调用

第三节 数组作为函数参数

第四节 指针与函数

第五节 变量的使用范围与存储类别

第六节 不同文件中的函数使用

思考题与习题

第七章 编译预处理

第一节 宏定义

第二节 文件包含

第三节 条件编译

思考题与题

第八章 结构体与共用体

第一节 结构体基础

第二节 结构体数组

第三节 结构体指针

第四节 链表

第五节 位段

第六节 共用体

第七节 枚举类型与自定义类型

思考题与习题

第九章 文件

第一节 文件概述

第二节 文件的打开与关闭

第三节 文件的读/写

第四节 文件的定位

思考题与习题

第十章 程序设计方法

第一节 程序设计的基本概念

第二节 结构化程序设计方法

第三节 程序效率

第四节 程序设计风格

思考题与习题

附录

附录A C语言实验

附录B 标准ABSII码表

附录C C语言中的关键字

附录D 运算符的优先级与结合性

《C语言程序设计》作业与思考题解答

说明:习题中P119:27 表示《C/C++上机实践及习题选解》中第119页的27题,其它以此类推,书后有解答。非《C/C++上机实践及习题选解》中的习题提供习题参考答案。

习题解答

作业一

1.合法的标识符: a12 A21 sum2 _fun C_program

不合法的标识符:f(x) $a21 21a while tan@sohucom

2

main( )

{ int i, j, s;

i=2; j=3;

s=ij;

printf(“ %d %d=%d”,i,j,s)

}

作业二

1指出下列哪些为C语言正确的整型(int)常量、实型(float)常量、字符型(char)常量?

正确的整型(int)常量:0 -325 128 03456

正确的实型(float)常量: 00 2 12e-3 5e2

正确的字符型(char)常量: ‘b’ ‘104’ ‘108’ ‘ ’ ‘8’

2表达式的结果 (1) 1

(2) 0

(4) 0

(5) 95

(9) ‘A’

(11) 2

(12) 45

3 Y=sin(2x)+(a+b)/(ab)/(1+a/b)+aa/2

4.设m为整数,用逻辑表达式表示:能同时被3与7整除或者被5除余2且小于100的整数。

m%3= =0 && m%7= =0 || m%5= =2 && m<100

作业三

1.华氏温度通过公式C=5/9(f-32)转换成摄氏温度。试编程并上机调试运行:从键盘上输入华氏温度,利用公式计算后输出摄氏温度(要求:保留一位小数;记录调试过程中遇到的问题及解决方法)。

#include

main( )

{ float f,c;

scanf(“%f”,&f);

c=50/9(f-32);

printf(“c=%1f”,c);

}

2

用IF语句:

#include

#include

main( )

{ float x,y;

scanf(“%f”,&x);

if (x<0) y=fabs(x);

else if (x<10) y=x;

else if (x<20) y=3-x/5;

else if (x<40) y=3x-10;

else y=0;

printf(“y=%f’,y);

}

用switch 语句:

#include

#include

main( )

{ float x,y;

scanf(“%f”,&x);

if (x<0) y=fabs(x);

else switch ( int(x/10) )

{ case 0: y=x; break;

case 1: y=3-x/5;break;

case 2,3: y=3x-10; break;

defaut y=0;

}

printf(“y=%f’,y);

}

3 解答见P151;

4.程序如下:

#include

#include

main()

{

int i=0;

char ch;

ch=getchar();

while (ch!=' ')

{ if (ch=='(') i++;

if (ch==')') i--;

if (i<0) break;

ch=getchar();

}

if (i==0) printf("(与)匹配") ;

else if (i<0) printf(" 缺) ") ;

else printf("缺少)");

}

5 程序如下:

#include

main()

{

int i,j,k,m=0;

for (i=1;i<10;i++)

for (j=1;j<20;j++)

{ k=100-i10-j5;

if (k>0) { printf(" i=%-3dj=%-3dk=%-3d",i,j,k);

m++;

if (m%4==0) putchar(' ');

}

}

printf(" m=%d ",m);

}

6 在横线上填写合适语句,完善程序,使之完成如下功能:从键盘上输入一个不多于7位的正整数,统计其中2的个数,并求各位数字中的最小数。

#include

main( )

{int count,min,temp;

long n;

min=9; count=0;

scanf( “%ld” ,&n);

do

{ temp= n % 10 ;

if (temp= =2) count++;

if (min>temp) min=temp;

n=n/10;

}while ( n );

printf(“count=%d,min=%d”,count,min)

}

作业四

1.p128: 46 解答见p156

2 p128: 411 解答见p158

3编写一递归函数计算mn ,并从键盘输入m,n的值(如4,3),求mn 的值(上机调试)。

funm_n(int m,int n)

{

int y;

if (n==1) y=m;

else y=mfunm_n(m,--n);

return y;

}

main()

{int m,n,y;

printf("Input integer(m,n):");

scanf("%d,%d",&m,&n);

y=funm_n(m,n);

printf(" %d^%-d=%-d",m,n,y);

}

4P128: 412 (3); 答案:12345678

5.求3-100中的素数,要求编写一函数来判断某数是否为素数。

main()

{

int prime,i,n=0;

for (i=3;i<=100;i++)

{ prime=prime_num(i);

if (prime) { if (n%10==0) printf(" ");printf("%4d",prime);n++;}

}

}

prime_num(int m)

{ int k=2,r;

do {

r=m % k;

if (r==0) break;

k++;

}while(k<m); p=""> </m);>

if (r!=0) return m;

else return 0;

}

6 结果如下:

main0:x=12,y=2

fun: x=6,y=25

main:x=12,y=2

fun:x=7,y=26

main:x=12,y=2

作业五

1从键盘上输入一串英文字符(不含空格与其他字符),统计每个字符的数目,并输出字母及相应的数目。

#include

#include

main()

{

int i=0,c[52]={0},m=0;

char str[80];

printf("Input a string:");

scanf("%s",str);

while (str[i])

{ if (str[i]>='A' && str[i] <='Z') c[str[i]-'A']++;

if (str[i]>='a' && str[i] <='z') c[str[i]-'a'+26]++;

i++;

}

for (i=0;i<26;i++)

if (c[i]){ if (m%8==0) putchar(' ');m++;

printf("%c:%-d ",i+'A',c[i]);

}

for (i=0;i<26;i++)

if (c[i+26]){if (m%8==0) putchar(' ');m++;

printf("%c:%-d ",i+'a',c[i+26]);

}

}

2 P132: 515 程序见p167

3.从键盘上输入8个数,用选择法按由大到小的顺序排列并输出,要求用指针实现。

#include

#include

main()

{

int data[8],i,p1,p2,temp;

p1=data;

printf("Input 8 numbers:");

for (i=0;i<8;i++)

{ scanf("%d",p1);/ 或 &(p1) / ;

p1++;

}

for (p1=data;p1<data+8-1;p1++) p=""> </data+8-1;p1++)>

for (p2=p1+1;p2<data+8;p2++) p=""> </data+8;p2++)>

if (p1<p2){ temp=p1; p1=p2; p2=temp;}

for (i=0,p1=data;i<8;i++,p1++)

printf("%6d",p1 ) ;

}

4.从键盘上输入一个4 4整数矩阵,以主对角线()为对称轴,将左下角元素中较大元素代替右上角对应元素,并将右上角元素(含对角线元素)输出。

#include

#include

main()

{

int d[4][4],i,j,temp;

printf("Input 16 numbers:");

for (i=0;i<4;i++)

for (j=0;j<4;j++)

scanf("%d",&d[i][j]) ;

for (i=0;i<4;i++)

for (j=0;j<i;j++) p=""> </i;j++)>

if (d[i][j]>d[j][i]) d[j][i]=d[i][j];

for (i=0;i<4;i++)

{ printf(" ");

for (j=0;j<4;j++)

if (j>=i) printf("%6d",d[i][j] ) ;

else printf("%6c",' ') ;

}

}

5.盘上输入两个字符串a,b,下面程序将a,b的对应字符中的较大者存放在数组c的对应位置上,填空完善之。

#include

#include

main( )

{int k=0;

char a[80],b[80],c[80]={‘’},p,q;

p=a; q=b;

gets(a); gets(b);

while (p!=0 || q!=0 )

{ if ( p!=0 ) c[k]=p;

else c[k]=q;

p++; q++; k++;

if ( p !=0 ) strcat(c,p);

else strcat(c,q);

puts(c);

}

作业六

1.P134:65 程序见p178

2.P135:67 程序见p181

3.P134:618 程序见p196

以上就是关于急求解答:C语言程序设计试题 请专长人士帮忙解答 谢!!!全部的内容,包括:急求解答:C语言程序设计试题 请专长人士帮忙解答 谢!!!、C语言程序设计作业 求解答、C语言程序设计,实验报告等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9320771.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存