C语言程序设计-作业与答案

合集下载

《C语言程序设计》练习题及答案

《C语言程序设计》练习题及答案

《C语言程序设计》练习题及答案1. 单选题1. 设有定义:int n=0,*p=&n,**q=&p,则下列选项中正确的赋值语句是A. p=1;B. *q=2;C. q=p;D. *p=5;正确答案:D2. 设有int x=11;则表达式(x++*1/3)的值是A. 3B. 4C. 11D. 12正确答案:A3. 下面程序的输出结果是main(){ int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a; printf("%d\n",*(p+2));}A. 3B. 4C. 1D. 2正确答案:A4. sizeof(float)是A. 一个双精度型表达式B. 一个整型表达式C. 一种函数调用D. 一个不合法的表达式正确答案:B5. 在16位C编译系统上,若定义long a;,则能给a赋40000的正确语句是A. a=20000+20000;B. a=4000*10;C. a=30000+10000;D. a=4000L*10L正确答案:D6. 请选出以下语句的输出结果printf("%d\n",strlen("\t\"\065\xff\n"));A. 5B. 14C. 8D. 输出项不合法,无正常输出正确答案:A7. 若x,i,j和k都是int型变量,则计算表达式x=(i=4,j=16,k=32)后,x的值为A. 4B. 16C. 32D. 52正确答案:C8. 下面能正确进行字符串赋值操作的是A. char s[5]={"ABCDE"};B. char s[5]={ ′A′, ′B′, ′C′, ′D′, ′E′};C. char *s;s="ABCDE";D. char *s;char a; scanf("%s",&s);正确答案:C9.以下程序的输出结果是#include "stdio.h"void reverse(int a[],int n){int i,t;for(i=0;i<n/2;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. 22B. 10C. 34D. 30正确答案:A10. 以下不正确的叙述是A. 在C程序中,逗号运算符的优先级最低B. 在C程序中,APH和aph是两个不同的变量C. 若a和b类型相同,在计算了赋值表达式a=b后b中的值将放入a中,而b中的值不变D. 当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值正确答案:D2. 多选题11. 以下______是正确的转义字符。

(完整版)C语言程序设计题库及答案,推荐文档

(完整版)C语言程序设计题库及答案,推荐文档

A.552 B.264 C.144 D.-264 30 . int a=3,b=2;printf(“%d,%d\n”,--a,b++);输出结果是(A )。
A.2,2 B.2,3 C.3,2 D.3,3
判断题(共 5 题,每题 2 分) 1 . 只能在循环体内和 switch 语句体内使用 break 语句。(对) 2 . 一个算法应该具备有穷性、确定性、输入、输出和有效性。(对) 3 . C 语言中,每个程序都必须要有一个且只有一个 main 函数。(对) 4 . 调用函数时,实参是一个数组名,则向函数传递的是数组的首地址。(对)
5 . 表达式 16/8*sqrt(4.0)/2 值的数据类型为 double 双精度实型。(对)
第二套试题
单选题(共 20 题,每题 4 分) 1 . 若有输入语句 scanf( %d%d%d,&x,&y,&z);则不能使 x 值为 5,y 值为 6,z 值为 7 的输入是___A___。
A.5,6 ,7
A.5,6 ,7
B.5 回车换行 6 7 C.5 6 7
D.5,6,7
12 . 若 i,j 已定义为 int 类型,则下程序段中内循环体的总的执行次数是( B )。 for (i=3;i>0;i--) for (j=0;j<=4;j++){...}
A.12
B.15
C.16
13 . 下列选项中,合法的 C 语言关键字是_D___。
A.1
B.3
C.2.0
D.2.5
19 . func(exp1,(exp2,exp3),(exp4,exp5,exp6));含有(C )个实参。 A.1 B.2 C.3 D.6 20 . 有 int x=3,y=4,z=5;则下面表达式中值为 0 的是__B____。 A.x&&y B.! (x<y&&!z||1) C.x||y+z&&y-z D.x<=y 21 . 已定义 c 为字符型变量,则下列语句中正确的是____C__。

程序设计基础(C语言)习题以及答案

程序设计基础(C语言)习题以及答案

其身正,不令而行;其身不正,虽令不从。

——《论语》一、选择题1.下列属于C语言中合法的标识符的是( B )A 、ex-1B 、-cookC 、951aD 、if2.若 x 为 float 型变量,则以下语句(A )。

x=213.82631;printf("%-4.2f\n",x);A、输出为213.83B、输出格式描述符的域宽不够,不能输出C、输出为213.82D、输出为-213.823.一个C程序的执行是从(C )A、main函数开始,直到最后一个函数结束B、第一个函数开始,直到最后一个函数结束C、main函数开始,直到main函数结束D、第一条语句开始,直到最后一条语句结4.构成C语言源程序的基本单位是(B )A、过程B、函数C、子程序D、命令5.以下叙述不正确的是(D )A、注释说明被计算机编译系统忽略B、注释说明必须跟在“//”之后不能换行或者括在“/*”和“*/”之间且注释符必须配对使用C、注释符“/”和“*”之间不能有空格D、在C程序中,注释说明只能位于一条语句的后面6.在C程序中,main函数的位置( A)A、可以任意B、必须作为最后一个函数C、必须作为第一个函数D、必须放在它所调用的函数之后7. C语言属于(C )A、机器语言B、汇编语言C、高级语言D、低级语言云路鹏程九万里,雪窗萤火二十年。

——《王实甫》人之为学,不日进则日退,独学无友,则孤陋而难成;久处一方,则习染而不自觉。

——《顾炎武》8.使用“scanf("a=%d,b=%d",&a,&b)”,要使a,b的值均为25,正确的输入是(D )。

A、a=25 b=25(空格分开)B、25 25(空格分开)C、25,25D、a=25,b=259. 下列叙述中,不正确的是( C)A、分号是C语句的必要组成部分B、C语句的注释可以写在语句的后面C、主函数的名字不一定用main表示D、函数是C程序的基本单位10.C程序是由( B)构成的A、若干过程B、一个或多个函数C、若干子程序D、一个主程序与若干子程序11. 以下程序的输出结果是(B )。

北理工《C语言程序设计》在线作业含正确答案

北理工《C语言程序设计》在线作业含正确答案
A1,2,0
B2,1,0
C1,2,1
D2,1,1
18、C语言规定,调用一个函数时,实参变量和形参变量之间的数据传递方式是( )。
A地址传递
B值传递
C由实参传给形参,并由形参传回给实参
D由用户指定传递方式
19、在C语言的函数定义过程中,如果函数finA调用了函数funB,函数funB又调用了函数funA,则( )。
A、6385
B69825
C63825
D693825
6、已知:struct{int i; char c; float a; }test; 则sizeof(test)的值是( )。
A4
B5
C6
D7
7
2分
已知“int a=4,b=5,c;”,则执行表达式“c=a=a>b”后变量a的值为( )。
A1
B0
C4
C数据结构系统化
D控制流程结构化
4、C编译系统提供了对C程序的编辑、编译、连接和运行环境,以下可以不在该环境下进行的环节是( )。
A编辑和编译
B编译和连接
C连接和运行
D编辑和运行
5、以下程序的输出是( )。main(){char a[2][5]={“6937”,”8254”};int i,j,s=0;for(i=0;i<2;i++)for(j=0;a[i][j]>'0'&&a[i][j]<='9';j+=2)s=10*s+a[i][j]-‘0’;printf(“s=%d ”,s);}
Dscanf("%d%d%d",&a,&b,&c);

C语言程序设计习题(含答案)

C语言程序设计习题(含答案)

C语言程序设计习题(含答案) C语言程序设计习题(含答案)C语言是一种常用的编程语言,被广泛应用于计算机科学和软件开发领域。

为了帮助学习者更好地掌握C语言的编程技巧,本文提供一些常见的C语言程序设计习题及其答案。

通过完成这些习题,学习者可以锻炼编程思维,加深对C语言的理解,并提高编程能力。

习题一:求两个整数的和题目描述:编写一个程序,计算两个整数的和并输出结果。

解答:```C#include <stdio.h>int main() {int num1, num2, sum;printf("请输入两个整数:");scanf("%d %d", &num1, &num2);sum = num1 + num2;printf("两个整数的和为:%d\n", sum);return 0;}```习题二:计算圆的周长和面积题目描述:编写一个程序,根据用户输入的半径,计算圆的周长和面积,并输出结果。

解答:```C#include <stdio.h>#define PI 3.14159int main() {double radius, circumference, area;printf("请输入圆的半径:");scanf("%lf", &radius);circumference = 2 * PI * radius;area = PI * radius * radius;printf("圆的周长为:%lf\n", circumference);printf("圆的面积为:%lf\n", area);return 0;}```习题三:判断一个数是否为素数题目描述:编写一个程序,判断用户输入的一个正整数是否为素数。

解答:```C#include <stdio.h>int isPrime(int num) {if (num <= 1) {return 0;}for (int i = 2; i * i <= num; i++) {if (num % i == 0) {return 0;}}return 1;}int main() {int num;printf("请输入一个正整数:");scanf("%d", &num);if (isPrime(num)) {printf("%d是素数\n", num);} else {printf("%d不是素数\n", num);}return 0;}```习题四:计算两个矩阵的乘积题目描述:编写一个程序,计算两个3x3的矩阵的乘积并输出结果。

C语言程序设计-国家开放大学电大学习网形考作业题目答案

C语言程序设计-国家开放大学电大学习网形考作业题目答案

C语言程序设计一、单选题1.在每个C语言程序中都必须包含有这样一个函数,该函数的函数名为()。

A.mainB.MAIND.function正确答案: A2.C语言源程序文件的缺省扩展名为()。

A.cppB. exeC. objD.c正确答案: D3.由C语言目标文件连接而成的可执行文件的缺省扩展名为()。

A.cppB.exeC.objD. c正确答案: B4.程序运行中需要从键盘上输入多于一个数据时,各数据之间应使用的分隔符为()。

A.空格或逗号B.逗号或回车C.逗号或分号D.空格或回车正确答案: D5.每个C语言程序文件的编译错误被分为()。

A.1类B.2类C.3类D.4类正确答案: B6.不符合C语言规定的复合语句是()。

A.{}B.{;}C.{x=0;}D.{y=10}正确答案: D7.C语言程序中的基本功能模块为()。

A.表达式B.标识符C.语句D.函数正确答案: D8.在一个函数定义中,函数头包括的3个部分依次为函数类型、函数名和()。

A. 表达式B.语句C.参数表D.函数体正确答案: C9.在一个程序文件中,若要使用#include命令包含一个用户定义的头文件,则此头文件所使用的起止定界符为一对()。

A.尖括号B.双引号C.单引号D.花括号正确答案: B10.在C语言程序中,多行注释语句使用的开始标记符为()。

A.//B./*C.*/D.**正确答案: B11.在printf()函数调用的格式字符串中,若使用格式符为“%c”,则对应输出的数据类型为()。

A.charB.intC.floatD.double正确答案: A12.在printf()函数调用的格式字符串中,若使用格式符为“%5d”,则规定对应输出的数据占用的字符位置个数为()。

A.5B.4C.3D.6正确答案: A13.转义字符'\\'表示的字符是()。

A.单引号B.双引号C.反斜线D.问号正确答案: C14.枚举类型中的每个枚举常量的值都是一个()。

国家开放大学电大《C语言程序设计》网络课形考任务3作业及答案

国家开放大学电大《C语言程序设计》网络课形考任务3作业及答案

国家开放大学电大《C语言程序设计》网络课形考任务3作业及答案形考任务3一、选择题(共30分,每小题2分)题目1在下面的函数声明语句中,存在着语法错误的是( )。

选择一项:c.AA(int a; int b)题目2在下面的保留字中,不能作为函数的返回值类型的是( )。

选择一项:c. enum题目3假定p是一个指向float型数据的指针,则p+1所指数据的地址比p所指数据的地址增加的字节数为( )。

选择一项:c. 4题目4假定a为一个数组名,在下面的表达式中,存在语法错误的是( )。

选择一项:b.*a++题目5用calloc函数创建具有10个整型元素的一维数组的正确语句是( )。

选择一项:c.int*p=calloc(10,4);题目6假定变量m定义为“int m=7;”,则下面正确的语句为( )。

选择一项:b.int*p=&m;题目7假定k是一个double类型的变量,则定义变量p的正确语句为( )。

选择一项:d.char题目8选择一项:d.x=*pa+3;题目9假定有语句为“int b[10];int *pb;”,则下面不正确的赋值语句为( )。

选择一项:d.pb=b[5];题目10已知“int *p=malloc(100);”,要释放p所指向的动态内存,正确的语句为( )。

选择一项:a.free(p);题目11在程序的一个文件中定义的函数,若要在另一个文件中调用,则必须在这另一个文件中给出该函数的( )。

选择一项:a. 原型语句题目12假定一个函数定义为“static int f1(int x,int y){return x+y;}”,该函数名称为()。

选择一项:c. f1题目13假定一个函数的原型语句为“int ff(int*x);”,一个整型数组为a[10],则下面函数调用表达式不正确的是( )。

选择一项:b.ff(a[0])题目14假定一个函数的数组参数说明为char a[],与之等价的指针参数说明为( ) 。

C语言程序设计习题(含答案)

C语言程序设计习题(含答案)

一、名词解释(每小题4分,共20分)1. 变量2. 赋值运算3. int4. 数组5. 函数二、单选题(每小题2分,共20分)1. 以下运算符中,表示取余数运算的是( )A. %B. /C. !=D. <=2. C语言中,表示“不等于”、“不相等”的运算符是( )A. ≠B. !=C. < >D. =/=3. C语言中,printf函数中的格式字符%d用来( )A. 输出一个字符串B. 输出单个字符C. 输出十进制整数D. 输出双精度浮点数4. C语言中,要求接受用户从键盘输入的一个英文字符到char型变量ch中,那么,该语句的正确写法是( )A. scanf("%z",ch);B. scanf("%c",ch);C. scanf("%z",&ch);D. scanf("%c",&ch);5. 定义一个用来存放双精度浮点数且名为x的变量的正确语句是( )A. double x;B. float x;C. Double x;D. Float x;6. 判断整数型变量score的取值是否在区间[60,100]的正确写法是( )A. if (score>=60 and score<=100)B. if (score>=60 && score<=100)C. if (score>=60 & score<=100)D. if (60<= score <=100)7. 定义最多能存放30个整数且名为scores的数组的正确语句是( )A. INT scores[30];B. int [30] scores;C. int scores[30];D. INT [30] scores;8. 利用string.h中库函数求字符串s的长度的表达式正确写法是( )A. len(s)B. length(s)C. strLen(s)D. strlen(s)9.利用string.h中库函数判断字符串s1大于等于字符串s2的正确写法是( )A. if(strcmp(s1,s2)>=0)B. if (s1>=s2)C. if(strcmp(s1,s2)≥0)D. if (s1≥s2)10. 以下能输出数字0,1,2,3,4,5,6,7,8,9且每行输出一个数字的正确语句是( )A. for( i=0; i<10; i++ ) { printf("%d",i); }B. for( i=0; i<10; i++ ) { printf("%d\n",i); }C. for( i=0; i<10; i++ ) { printf("%d\n",i+1); }D. for( i=0; i<10; i-- ) { printf("%d\n",i); }三、判断题(每小题2分,共10分)1. C语言中,int可以作为变量名,例如语句:char int;可以定义名为int 的字符型变量。

C程序设计作业

C程序设计作业

第一章作业答案:一,59,14.4,28.e二1小题,592,15一、将数89、20.25、40.875用十六进制表示二、填空1.在C语言中,数值常量0x3b的十进制值是。

2.字母f的ASCII码为十进制数___________。

第三章作业一、选择题:1、下列变量名中, B 是非法的。

A) Tom B) 3n C) little_boy D) c102、若有以下类型说明char a; int b; float c; double d;则表达式a*b+d-c的结果类型是(A )A)float B)char C)int D)double3、若x为整型,则逗号表达式(x=4*5,x*5),x+25的结果及x的值分别是(C )正确答案是100,45A)45 20 B)125 20 C)125 45 D)100 1004、假设所有变量均为整型,则表达式(a=3,b=2,b++,a+b)的值是 C 。

A) 5 B) 8 C) 6 D)75、已知c2为字符型,则执行语句c2=’E’+’8’-‘A’后,c2的值为 C 。

A) 12 B) 11 C)不确定的值D) 106、设a为double变量,b为int型变量,c为字符型变量,则a+b+c为( C )型A) int B) float C) double D) char7、C语言中不可用作标识符的字符有( C )A下划线B %C数字D字母8、下面四个选项中,均是合法整型常量的是(D )A)160 B)- 0xcdf C)- 01 D)0x - 0xffff 01a 0668 2e59、设a为字符变量,b为int型变量,c为double型变量,则a*b+c为( C )型A. intB. floatC. doubleD. char10.若a是int型变量,则表达式(a=4*5,a*2),a+4的值为( C )A. 20B.22C. 24D. 44第四章作业一、选择题1、若x为int型变量,则执行以下语句后x= C 。

(完整版)C语言程序设计习题集及答案

(完整版)C语言程序设计习题集及答案

C语言程序设计习题集东华理工大学2014.9基础知识一单项选择题(每题2分,共44分)1 以下叙述正确的是___。

A C程序基本组成单位是语句B C程序每一行只能写一个语句C 简单C语句必须以分号作为结束符D 注释语句可以嵌套2 一个C语言程序是从___开始执行的。

A 程序中第一个函数B 名为main的函数C 包含文件(头文件)的第一个函数D 程序中的第一个语句3 请选出合法的C语言赋值语句___。

A a=b=58B i++;C a=58,b=58D k=int(a+b);4 下面标识符中,合法的用户标识符是___。

A 1abcB includeC a-b-c123D char5 以下所列的C语言整形常量中,正确的是___。

A 0x10B 0976C 076LD 01ff6 C语言中下列运算符的操作数必须为整型的是___。

A %B ++C /D =7 设a和b均为int型变量,则执行以下语句后的输出为___。

int a=20; int b=3; printf("%d\n",a+=(b%=2));A 20B 21C 0D 238 已知int i;,则执行语句 i=2.6;后,i的值为___。

A 2B 3C 2.6D 不确定9 以下合法的字符常量为___。

A 'ab'B '\482'C '\'D '\xaf'10 若y为int型变量,则执行以下语句后,y的值是___。

y=8; y+=y-=y*y;A 64B –56C –112D –4811 以下合法的浮点型常量是___。

A e-3B 1.5e+2.4C 3.14e+2LD 3.14 e +512 设int数据占用两个字节,float数据占用四个字节,double数据占用8个字节,且已知float a=2;int b=3;则执行下列语句输出为___。

printf("%d",sizeof(a*b)+2/5);A 4B 8C 6D 713 设int型占2个字节,且int i=-2;,则语句printf("%u",i);的输出结果为___。

完整版C语言程序设计练习题含程序及参考答案

完整版C语言程序设计练习题含程序及参考答案

完整版C语言程序设计练习题含程序及参考答案1. 请编写一个C程序,要求输入一个整数n,并打印从1到n的所有整数。

```c#include <stdio.h>int main(){int n;printf("请输入一个整数n:");scanf("%d", &n);for (int i = 1; i <= n; i++){printf("%d ", i);}return 0;}```参考答案:```请输入一个整数n:51 2 3 4 5```2. 请编写一个C程序,要求输入两个整数m和n,并计算它们的和、差、积和商(m除以n的结果)。

```c#include <stdio.h>int main(){int m, n;printf("请输入两个整数m和n:");scanf("%d %d", &m, &n);int sum = m + n;int difference = m - n;int product = m * n;float quotient = (float)m / n;printf("和:%d\n", sum);printf("差:%d\n", difference);printf("积:%d\n", product);printf("商:%.2f\n", quotient);return 0;}```参考答案:```请输入两个整数m和n:10 3和:13差:7积:30商:3.33```3. 请编写一个C程序,要求输入一个整数n,并判断它是否为素数。

```c#include <stdio.h>#include <stdbool.h>bool isPrime(int n){if (n <= 1){return false;}for (int i = 2; i * i <= n; i++){if (n % i == 0){return false;}}return true;}int main(){int n;printf("请输入一个整数n:"); scanf("%d", &n);if (isPrime(n)){printf("%d是素数。

西南大学网络教育《C语言程序设计》网上作业及参考答案

西南大学网络教育《C语言程序设计》网上作业及参考答案
for(i=0;i<3 ;i++)
for(j =0 ;j <4 ;j ++)
{
(2);
if(a[i] [j]>max) max=a[i] [j];
if(a[i] [j]<min) min=a[i][j];
}
printf("max=%d,min=%d,sum=%d\n",(3) );
}
参考答案:
29.键入数据至二维数组,求出其中的最大值、最小值及所有元素之和。<\/p>
1.单精度数
2.双精度数
3.常量
4.字符串
7、
定义一个具有10个元素的整型数组,应该使用语句()。
1.int a[10];
2.int a[2
3.5];"
4.int a[];
5.int *a[10]
8、
若已定义:int a[9],*p=a;,并在以后的语句中未改变p的值,不能表示a[1]地址的表达式是()。
55、
编写程序找出100以内能够被7整除的所有整数,并输出。
参考答案:
此题没有标准答案,只要能运行出相应结果就行。老师会在值机辅导时进行相应的辅导,请进入论坛查看
56、
#include “stdio.h”
fun(int x,int y,int z)
{ z=x*x+y*x;}
Void main()
{
Int a=31;
此题没有标准答案,只要能运行出相应结果就行。老师会在值机辅导时进行相应的辅导,请进入论坛查看
52、
.利用循环结构输出下列图形。
A
BBB
CCCCC
DDDDDD

c语言程序设计题目及答案

c语言程序设计题目及答案

一、程序设计共113题第1题题号:319#include ""void wwjt();int fun(int m){int i,k=1;if(m<=1) k=0;for(i=2;i<m;i++)if(m%i==0) k=0;return k;}第2题题号:351-----------功能:请编一个函数void fun(int tt[M][N],int pp[N]),tt指向一个M行N列的二维数组,求出二维数组每列中最大元素,并依次放入pp 所指一维数组中。

二维数组中的数已在主函数中赋予。

#include<>#include<>#define M 3#define N 4void wwjt();void fun(int tt[M][N],intpp[N]){int i,j;for(j=0;j<N;j++){pp[j]=tt[0][j];for(i=1;i<M;i++)if(tt[i][j]>pp[j])pp[j]=tt[i][j];}第3题题号:375功能:从键盘上输入任意实数,求出其所对应的函数值。

z=e的x次幂(x>10)z=log(x+3) (x>-3)z=sin(x)/((cos(x)+4)#include <>#include<>void wwjt();double y(float x){double z;if(x>10) z=exp(x);else if(x>-3) z=log(x+3);else z=sin(x)/(cos(x)+4);return(z);}第4题题号:334功能:求给定正整数n以内的素数之积。

(n<28)#include <>#include""void wwjt();long fun(int n){long i,k;long s=1;for(i=2;i<=n;i++){for(k=2;k<i;k++)if(i%k==0)break; if(k==i)s=s*i;}return s;}第5题题号:333功能:计算并输出给定整数的所有因子之积(包括自身)。

c语言程序设计编程题库及详解答案

c语言程序设计编程题库及详解答案

c语言程序设计编程题库及详解答案1. 编写一个C语言程序,实现两个整数的加法运算。

答案:```c#include <stdio.h>int main() {int num1, num2, sum;printf("请输入两个整数:");scanf("%d %d", &num1, &num2);sum = num1 + num2;printf("两个整数的和是:%d\n", sum);return 0;}```2. 编写一个C语言程序,实现求一个数的阶乘。

答案:```c#include <stdio.h>int factorial(int n) {if (n == 0) return 1;return n * factorial(n - 1);}int main() {int num;printf("请输入一个整数:");scanf("%d", &num);printf("%d 的阶乘是:%d\n", num, factorial(num)); return 0;}```3. 编写一个C语言程序,实现判断一个数是否为素数。

答案:```c#include <stdio.h>#include <math.h>int isPrime(int n) {if (n <= 1) return 0;for (int i = 2; i <= sqrt(n); i++) {if (n % i == 0) return 0;}return 1;}int main() {int num;printf("请输入一个整数:");scanf("%d", &num);if (isPrime(num)) {printf("%d 是素数。

c语言程序设计形考 国家开放大学电大《C语言程序设计》网络课形考网考作业及答案

c语言程序设计形考 国家开放大学电大《C语言程序设计》网络课形考网考作业及答案

c语言程序设计形考国家开放大学电大《C语言程序设计》网络课形考网考作业及答案国家开放大学电大《C语言程序设计》网络课形考网考作业及答案 100%通过考试说明:20__年秋期电大把该网络课纳入到“国开平台”进行考核,该课程共有4个形考任务,针对该门课程,本人汇总了该科所有的题,形成一个完整的标准题库,并且以后会不断更新,对考生的复习、作业和考试起着非常重要的作用,会给您节省大量的时间。

做考题时,利用本文档中的查找工具,把考题中的关键字输到查找工具的查找内容框内,就可迅速查找到该题答案。

本文库还有其他网核及教学考一体化答案,敬请查看。

课程总成绩 = 形成性考核×50% + 终结性考试×50% 形考任务1 一、选择题(共40分,每小题2分)题目1 在每个C语言程序中都必须包含有这样一个函数,该函数的函数名为()。

选择一项:A. main 恭喜你,答对啦!!B. MAINC. nameD. function 题目2 C语言源程序文件的缺省扩展名为()。

选择一项:A. cppB. exeC. objD. c 题目3 由C语言目标文件连接而成的可执行文件的缺省扩展名为()。

选择一项:A. cppB. exeC. objD. c 题目4 程序运行中需要从键盘上输入多于一个数据时,各数据之间应使用的分隔符为()。

选择一项:A. 空格或逗号B. 逗号或回车C. 逗号或分号D. 空格或回车题目5 每个C语言程序文件的编译错误被分为()。

选择一项:A. 1类B. 2类C. 3类D. 4类题目6 不符合C语言规定的复合语句是()。

选择一项:A. {}B. {;}C. {x=0;}D. {y=10} 题目7 C语言程序中的基本功能模块为()。

选择一项:A. 表达式B. 标识符C. 语句D. 函数题目8 在一个函数定义中,函数头包括的3个部分依次为函数类型、函数名和()。

选择一项:A. 表达式B. 语句C. 参数表D. 函数体题目9 在一个程序文件中,若要使用#include命令包含一个用户定义的头文件,则此头文件所使用的起止定界符为一对()。

C语言程序设计》课后习题详细答案

C语言程序设计》课后习题详细答案
(2)在同一行上的/ * main function * /显然是注释;C语言规定:注释由/*开头,由*/结束,但在*号和/之间不得插入任何空格,而在此处“/ *”和“* /”之间存在空格,因此,/ * main function * /的写法是错误的,而应写成:/* main function */。
printf(″(1) a=%d,b=%d,c=%d\n″,a,b ,c);
t=c; c=b; b=a; a=t;
printf(″(2) a=%d,b=%d,c=%d\n″,a,b,c);
}
第四章选择结构习题分析与解答
一、选择题
4.1【参考答案】A)
4.2【参考答案】A)
4.3【参考答案】A)
4.4【参考答案】D)
(6)设计输出语句。输出a、b、c和ave。
(7)把以上内容放在主函数的一对花括号中。
(8)编写程序如下:
main()
{ double a,b,c,ave;
printf(″Enter a ,b ,c :″);
scanf(″%lf%lf%lf″, &a, &b, &c );
ave=(a+b+c)/3;
2.15【参考答案】[1]4.2[2]4.2
2.16【参考答案】[1]{[2]}[3]定义[4]执行
2.17【参考答案】[1]关键字[2]用户标识符
2.18【参考答案】[1]int[2]float[3]double
2.19【参考答案】float a1=1.0, a2=1.0;
或float a1=1, a2=1;(系统将自动把1转换为1.0)
3.27【参考答案】x=127, x=127 , x=$127 ,x=$000127, x=%06d

2019年电大《C语言程序设计》第1、2、3、4次作业及答案参考必考重点

2019年电大《C语言程序设计》第1、2、3、4次作业及答案参考必考重点

3、4 次作业及答案电大《C++语言程序设计》第1、2、第一次作业一、写出下列每个程序运行后的输出结果1. #include<stdio.h>void main(){int x=5;switch(2*x-3){case 4:printf("%d ",x);case 7:printf("%d ",2*x+1);case 10:printf("%d ",3*x-1);break;default:printf("%s ","default\n");}printf("%s\n","switch end.");}2. #include<stdio.h>void main(){int i,s=0;for(i=1;i<=6;i++)s+=i*i;printf("s=%d\n",s);}3. #include<stdio.h>void main(){int i,s1=0,s2=0;for(i=0;i<10;i++)if(i%2)s1+=i;else s2+=i;printf("%d %d\n",s1,s2);}4. #include<stdio.h>void main(){int n=10,y=1;while(n--){y++;y++;} printf("y=%d\n",y);}5. #include<stdio.h>void main(){int f,f1,f2,i;f1=f2=1;printf("%d %d ",f1,f2);for(i=3;i<=10;i++){ f=f1+f2; printf("%d ",f);if(i%5==0)printf("\n"); f1=f2;f2=f;}printf("\n");}6. #include<stdio.h>#include<math.h>void main(){int i,n;for(n=2;n<=20;n++){int temp=(int)sqrt(n);//sqrt(n) 求出n 的平方根并取整for(i=2;i<=temp;i++)if(n%i==0)break;if(i>temp)printf("%d ",n); }printf("\n");7. #include<stdio.h> #include<math.h> const int M=20; void main() {int i,c2,c3,c5; c2=c3=c5=0;for(i=1;i<=M;i++){ if(i%2==0)c2++; if(i%3==0)c3++; if(i%5==0)c5++;}printf("%d %d %d\n",c2,c3,c5); }8. #include<stdio.h> #include<math.h> const int M=20; void main(){int i,s; for(i=1,s=0;i<15;i++){if(i%2==0 || i%3==0)continue; printf("%d ",i);s+=i;} printf("%d\n",s);}参考答案:1、答案:11 14 switch end.2、答案:s=91.3、答案:25 20.4、答案:y=21.5、答案: 1 1 2 3 58 13 21 34 556、答案:2 3 5 7 11 13 17197、答案:10 6 48、答案: 1 5 7 11 13 37第二次作业一、根据下列每个题目要求编写程序1.编写一个函数,函数头格式为“void fun4(char *a , int b[]) ”,分别求出由字符指针a 所指向的字符串中包含的每种十进制数字出现的次数,把统计结果保存在数组b 的相应元素。

C语言程序设计作业与思考题答案

C语言程序设计作业与思考题答案

《C语言程序设计》作业与思考题解答作业一1.合法的标识符: a12 A21 sum2 _fun C_program不合法的标识符: f(x) $a21 21a while2.main( ){ int i, j, s;i=2; j=3;s=i*j;printf(” %d×%d=%d”,i,j,s)}作业二1.指出下列哪些为C语言正确的整型(int)常量、实型(float)常量、字符型(char)常量?正确的整型( int) 常量:0 -325 128 03456正确的实型( float) 常量: 0.0 2. 1.2e-3 5e2正确的字符型( char) 常量: ‘b’‘\108’ ‘\n’ ‘8’2.表示式的结果 (1) 1(2) 0(3) 0(4) 9.5(5) ‘A’(6) 2(7) 4.53. Y=sin(2*x)+(a+b)/(a*b)/(1+a/b)+a*a/24.设m为整数, 用逻辑表示式表示: 能同时被3与7整除或者被5除余2且小于100的整数。

m%3= =0 && m%7= =0 || m%5= =2 && m<100作业三1.华氏温度经过公式C=5/9(f-32)转换成摄氏温度。

试编程并上机调试运行: 从键盘上输入华氏温度, 利用公式计算后输出摄氏温度( 要求: 保留一位小数; 记录调试过程中遇到的问题及解决方法) 。

#include <stdio.h>main( ){ float f,c;scanf(”%f”,&f);c=5.0/9*(f-32);printf(”c=%.1f”,c);}2.用IF语句:#include <stdio.h>#include <math.h>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=3*x-10; else y=0;p rintf(”y=%f’,y);}用switch 语句:#include <stdio.h>#include <math.h>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=3*x-10; break;defaut y=0;}printf(”y=%f’,y);}3. 编程序: 输入x 值, 按下列公式计算cos(x):精确到10-5。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《C 语言程序设计》课程作业适用层次:专升本 培养类型:理工科专业专业班级: 姓名: 学号:作业要求:题目可打印,答案要求手写,考试时交作业。

第1次:1.编写程序,分别计算1到100之间的奇数之和及偶数之和,并输出。

2.输入三角形的三条边a 、b 、c ,如果能构成一个三角形,则计算并输出三角形的周长和面积(结果保留两位小数);否则输出“无效的边长!”。

三角形面积计算公式为: s=))()((c x b x a x x ---,其中,x=(a+b+c)/2。

3.输入一个整数,求它的各位数字之和。

例如,123的各位数字之和为6,-63的各位数字之和为9。

4.使用格里高利公式求π的近似值,精确到最后一项的绝对值小于10-6。

+-+-=71513114π……5.中国古代数学史上著名的“百鸡问题”:鸡翁一,值钱五;鸡母一,值钱三,鸡雏三,值钱一。

百钱买百鸡,问翁、母、雏各几何?6.编写程序,键盘输入正整数n (0<n<10)的值,求s=1!+3!+5!+…+n !的值并输出。

第2次:1.编写程序,用冒泡排序对10个整数进行降序排列。

2.从键盘输入10个学生的高考总成绩,输出最高分。

3.输入20个学生的成绩,要求统计并输出优秀(大于85)、及格(60~84)和不及格(小于60)的学生人数。

4.求一个4*4矩阵主对角线元素之和与副对角线元素之和的差。

5.输入一个以回车键结束的字符串(少于80个字符),删除其中除英文字母以外的其它字符。

第3次:1.输入x ,计算并输出下列分段函数f(x)的值。

可以调用数学库函数:平方根函数sqrt(),绝对值函数fabs()。

| 2x+5| x<0f(x)= (x+1)1/2 0<=x<23x+1 x>= 22. 编写一个函数prime(int n),判断一个整数是否是素数,若是素数,函数值返回1,否则返回0。

利用该函数找出100-200之间的所有素数。

素数是只能被1和自身整除的正整数,2是最小的素数。

3.写一函数int strlength(char *s)求一个字符串的长度。

主函数中输入一个字符串,调用函数strlength 求其长度并输出。

11:编程计算1到100之间的奇数之和及偶数之和。

#include <stdio.h>main(){ int even_sum,odd_sum,j,i;even_sum = odd_sum =0 ;for(i=0;i<=100;i+=2){ even_sum +=i;_j=i+1___;odd_sum +=j;}printf("sum of evens is %d\n", even_sum);printf("sum of odds is %d\n", odd_sum -101);#include <stdio.h>#include <math.h>main(){ float a,b,c,s,area;printf(“Input a,b,c:”);scanf(“%f%f%f”,&a,&b,&c);if(a+b>c&&a+c>b&&b+c>a){s=(a+b+c)/2;area=sqrt(s*(s-a)*(s-b)*(s-c));printf(“area=%.2f\n”,area);}elseprintf(“无效的边长!”);}13:输入一个整数,求它的各位数字之和及位数。

例如,34的各位数字之和是7,位数是2;-123的各位数字之和是6,位数是3。

#include <stdio.h>main(){int x,m,n=0,s=0;printf(" x= ");scanf("%d",&x);if(x<0)x=-x;do{m=x%10; /* 求出该数的个位数*/s=s+m;n++;x=x/10;}while(x!=0);printf(" 位数是:%d\n",n);printf(" 各位数字之和是:%d\n",s);}14:使用格里高利公式求π的近似值,精确到最后一项的绝对值小于10-6。

+-+-=71513114π……#include <stdio.h>#include <math.h>main( ){ int s;float n, t, pi;t=1; pi=0; n=1.0; s=1;while((fabs(t)) > = 1e-6){ pi = pi+t;n = n+2;s = -s;t = s/n;}pi=pi*4;printf(“pi =%10.6f\ n”, pi );}15:中国古代数学史上著名的“百鸡问题”:鸡翁一,值钱五;鸡母一,值钱三,鸡雏三,值钱一。

百钱买百鸡,问翁、母、雏各几何?#include <stdio.h>main(){int cock,hen,chicken;for(cock =0; cock <=20; cock ++)for(hen =0; hen <=33; hen ++){ chicken =100- cock - hen;if((5* cock +3* hen + chicken /3)==100&&( chicken %3==0))printf("%5d%5d%5d\n", cock, hen, chicken);}}16:编写程序,键盘输入正整数n (0<n<10)的值,求s=1!+3!+5!+…+n !的值并输出。

#include<stdio.h>double fact(int n){double i,r=1;for(i=2;i<=n;i++)r *= i;return r;}main(){int i,n;double sum=0.0;scanf("%d",&n);for(i=1;i<=n;i++){sum += fact(2*i-1);}printf("sum=%.0lf\n",sum);}21. 编程,用冒泡排序对10个整数进行降序排列。

#include <stdio.h>main( ){ int a[10]; int i, j , t;/*输入10个整数到数组a中*/printf ("Input 10 numbers:\n");for(i=0;i<10;i++)scanf("%d",&a[i]);printf ("\n");/*用冒泡排序法对数组a中的10个数进行降序排序*/for(i=1; i<10; i++)for(j=0; j<=9-i; j++) /* a[0]到a[9-i]范围内的数进行一趟冒泡排序 */ if(a[j]<a[j+1]) {t=a[j];a[j]=a[j+1];a[j+1]=t;}/*依次输出排序后的10个整数*/printf ( "The sorted numbers are:\n");for(i=0;i<10;i++)printf("%d _ _",a[i]);}22.已知10个学生的高考总成绩,输出最高分。

#include <stdio.h>main( ){float score[10], maxscore;int i;/*输入10个学生的高考总成绩到数组score中*/printf ("Input 10 scores:\n");for(i=0; i<10; i++)scanf("%f", &score[i]);/*变量maxscore赋值为第一个学生的成绩*/maxscore=score[0];/*求最高分*/for(i=1; i<10; i++)if( score[i]>maxscore) maxscore=score[i];/*输出最高分*/printf("maxscore=%6.1f\n",maxscore);}23.输入20个学生的成绩,要求统计并输出优秀(大于等于85)、及格(60~84)和不及格(小于60)的学生人数。

#include <stdio.h>main( ){int mark[20], g, p, f,i;g=p=f=0;printf("Enter scores:\n");for(i=0; i<20; i++)scanf ("%d", &mark[i]);/*统计优秀、及格和不及格的学生人数*/for(i=0; i<20; i++)if(mark[i] >= 85) g++;else if (mark[i] >= 60) p++;else f++;/*输出统计结果*/printf("优秀人数:%d\n", g);printf("及格人数:%d\n", p);printf("不及格人数:%d\n", f);}24.求一个4*4矩阵主对角线元素之和与副对角线元素之和的差#include<stdio.h>void main(){int i,j,sum1=0,sum2=0, a[4][4];printf("Input a 4*4 matrix:\n");for(i=0;i<4;i++)for(j=0;j<4;j++)scanf("%d", &a[i][j]);for(i=0;i<4;i++){sum1+=a[i][i];sum2+=a[i][3-i] }printf("差=%d\n", sum1- sum2);}25.输入一个以回车键结束的字符串(少于80个字符),删除其中除英文字母和数字字符以外的其它字符。

#include <stdio.h>main(){char str[80];int i,k=0;printf("Input a string:\n");gets(str);/*删除字符串中除英文字母和数字字符以外的字符*/for(i=0; str[i]!='\0'; i++)if(str[i]>='a'&&str[i]<='z'||str[i]>='A'&&str[i]<='Z'||str[i]>='0'&&str[i]<='9'){str[k]=str[i]; /* 保留字符串中的英文字母和数字字符 */k++;}str[k]='\0';printf("Output new string:\n");puts(str);}31. 输入x,计算并输出下列分段函数f(x)的值。

相关文档
最新文档