程序设计基础(C)作业1
- 格式:doc
- 大小:204.50 KB
- 文档页数:31
《程序设计基础》作业一答案一、单项选择题1、计算机发展的分代史中通常划分时代的标准是以计算机所采用的___ ___。
AA 逻辑元件B 程序设计语言C 操作系统发展D 硬件运算速度2、当前广泛使用的微型计算机是______。
DA 第一代B 第二代C 第三代D 第四代3、我们将组成计算机系统的所有电子和机械装置称为______。
AA 硬件B 软件C 系统D 机器4、当代计算机的体系结构称为是______。
AA 冯·诺依曼机B 非冯·诺依曼机C图灵机 D PASCAL机5、CPU主要包括______。
AA 运算器、控制器和寄存器B 运算器、控制器和存储器C 控制器D 运算器和存储器6、硬盘是______。
CA 输入设备B 输出设备C 存储设备D 计算设备7、系统软件的核心软件是______。
AA 操作系统B 编译程序C 汇编程序D 机器语言8、下面4句话中,最准确的表述是______。
AA 程序=算法+数据结构B 程序是使用编程语言实现算法C 程序的开发方法决定算法设计D 算法是程序设计中最关键的因素9、计算机能直接执行的语言是______。
AA 机器语言B 汇编语言C 高级语言D 目标语言10、汇编程序的任务是______。
AA 将汇编语言编写的程序转换为目标程序B 将汇编语言编写的程序转换为可执行程序C 将高级语言编写的程序转换为汇编语言程序D 将高级语言编写的程序转换为可执行程序11、世界上第一个高级语言是______。
CA BASIC语言B C语言C FORTRAN语言D PASCAL语言12、下面4种程序设计语言中,不是面向过程式语言的是______。
DA FORTRANB ALGOLC AdaD C++13、下面4种程序设计语言中,不是面向对象式语言的是______。
DA JAVAB Object PascalC DelphiD C14、保存在计算机内存中的信息为______。
其身正,不令而行;其身不正,虽令不从。
——《论语》一、选择题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 )。
第一章:程序设计基础知识一、单项选择题1、以下( )是面向过程的程序设计语言。
A)机器语言 B)汇编语言 C)高级语言 D)第四代语言2、程序设计一般包含以下四个步骤,其中其中首先应该完成的是( )。
A)设计数据结构和算法B)建立数学模型C)编写程序 D)调试和运行程序3、以下常用算法中适合计算等差级数的算法是( )。
A)枚举法B)递推法 C)分治法 D)排序法4、以下不属于算法基本特征的是( )。
A)有穷性 B)有效性C)可靠性 D)有一个或多各输出5、以下描述中不正确的是( )。
A)程序就是软件,但软件不紧紧是程序。
B)程序是指令的集合,计算机语言是编写程序的工具。
C)计算机语言都是形式化的语言,它有一个语法规则和定义。
D)计算机语言只能编写程序而不能表示算法。
6、下面描述中,正确的是( )A)结构化程序设计方法是面向过程程序设计的主流。
B)算法就是计算方法。
C)一个正确的程序就是指程序书写正确。
D)计算机语言就是编写程序的工具而不是表示算法的工具。
7、下面描述中,不正确的是( )。
A)递归法的关键是必须有一个递归终止的条件。
B)递归算法要求语言具有反复自我调用子程序的能力。
C)对于同一个问题,递推算法比递归算法的执行时间要长。
D)递推算法总可以转换为一个递归算法。
8、N-S图与传统流程图比较,主要优点是( )。
A)杜绝了程序的无条件转移。
B)具有顺序、选择和循环三种基本结构。
C)简单、只管。
D)有利于编写程序。
A)B)C)D)二、填空题1、在流程图符号中,判断框中应该填写的的是________。
(判断条件)2、结构化程序设计是__________应遵循的方法和原则。
(面向过程编程)3、结构化程序必须用__________程序设计语言来编写。
(具有结构化控制语句)4、可以被连续执行的一条条指令的集合称为计算机的________。
(程序)5、只描述程序应该“做什么”,而不必描述“怎样做”的语言被称为________。
C语⾔程序设计基础试题⼀及答案《程序设计基础》考试试卷⼀班级姓名学号____________⼀、选择题(20分)1.算法具有五个特性,以下选项中不属于算法特性的是(A)有穷性(B)简洁性(C)可⾏性(D)确定性2.以下选项中可作为C语⾔合法常量的是(A)-80. (B)-080 (C) (D)3.以下叙述中正确的是(A)⽤C语⾔实现的算法必须要有输⼊和输出操作(B)⽤C语⾔实现的算法可以没有输出但必须要有输⼊(C)⽤C程序实现的算法可以没有输⼊但必须要有输出(D)⽤C程序实现的算法可以既没有输⼊也没有输出4.以下不能定义为⽤户标识符是(A)Main (B) _0 (C) _int (D) sizeof5.以下选项中,不能作为合法常量的是(A) (B) (C)+4 (D)6.数字字符0的ASCII值为48,若有以下程序main(){char a='1',b='2';printf("%c,",b++);printf("%d\n",b-a);} 程序运⾏后的输出结果是(A)3,2 (B)50,2 (C)2,2 (D)2,507.有以下程序main(){int m=12,n=34;printf("%d%d",m++,++n); printf("%d%d\n",n++,++m);}程序运⾏后的输出结果是(A) (B) (C) (D)8.有以下语句:int b;char c[10];,则正确的输⼊语句是A)scanf("%d%s",&b,&c); B) scanf("%d%s",&b,c);(C)scanf("%d%s",b,c); D)scanf("%d%s",b,&c);9.有以下程序main(){int m,n,p;scanf("m=%dn=%dp=%d",&m,&n,&p);printf("%d%d%d\n",m,n,p); } 若想从键盘上输⼊数据,使变量M中的值为123,N中的值为456,P中的值为789,则正确的输⼊是A)m=123n=456p=789 B)m=123 n=456 p=789 C)m=123,n=456,p=789 D)123 456 78910.有以下程序main(){int a,b,d=25;a=d/10%9;b=a&&(-1);printf("%d,%d\n",a,b); }程序运⾏后的输出结果是A)6,1 B)2,1 C)6,0 D)2,011.有以下程序main(){int i=1,j=2,k=3;if(i++==1&&(++j==3||k++==3))printf("%d %d %d\n",i,j,k);}程序运⾏后的输出结果是(A)1 2 3 (B)2 3 4 (C)2 2 3 (D)2 3 312.若整型变量a、b、c、d中的值依次为:1、4、3、2。
z习题解答目录1.2 习题解答 (3)1.2.1 选择题 (3)1.2.2 填空题 (3)1.2.3 编程题 (4)2.2 习题解答 (5)2.2.1 选择题 (5)2.2.2 填空题 (7)2.2.3 编程题 (8)3.2 习题解答 (11)3.2.1 选择题 (11)3.2.2 填空题 (12)3.2.3 编程题 (12)4.2 习题解答 (15)4.2.1 选择题 (15)4.2.2 填空题 (17)4.2.3 编程题 (18)5.2 习题解答 (29)5.2.1 选择题 (29)5.2.2 填空题 (31)5.2.3 编程题 (33)6.2 习题解答 (37)6.2.1 选择题 (37)6.2.2 填空题 (41)6.2.3 编程题 (43)7.2 习题解答 (67)7.2.1 选择题 (67)7.2.2 填空题 (68)7.2.3 编程题 (68)21.2 习题解答1.2.1 选择题1、B【分析】在一个C程序中必须有且只能有一个main函数,而且main函数可以在任何地方出现.2、C【分析】C 语言中合法以的标识符组成为:字母,数字,下划线,且数字不能打头,亦不能为关键字。
A中,-sub 不合法。
B 中4d不合法。
D 中void 为关键字。
3、【分析】4、C【分析】转义字符中,第一个\”输出“,第二\\输出\,第三个\b退格,把前一个\去掉了,第四个\’输出’,第五个\t跳格,第六个\”输出”,第七个\n输出换行。
5、C【分析】本题将10进制17,分别按8、16进制输出。
8的进制21=2*8+1*1=17(10, 16制11=1*16+1*1=17(10)1.2.2 填空题1、主【分析】一个C源程序中至少包括一个主函数,其他函数没有限制。
2、双引号。
【分析】两种写法都是允许的,使用尖括号表示在包含文件目录中去查找(包含目录是由用户在设置环境时设置的),而不在源文件目录去查找.使用双引号则表示首先在当前的源文件目录中查找,若未找到才到包含目录中去查找。
《程序设计基础》考试试卷一班级姓名学号____________一、选择题(20分)1.算法具有五个特性,以下选项中不属于算法特性的是(A)有穷性(B)简洁性(C)可行性(D)确定性2.以下选项中可作为C语言合法常量的是(A)-80. (B)-080 (C) (D)3.以下叙述中正确的是(A)用C语言实现的算法必须要有输入和输出操作(B)用C语言实现的算法可以没有输出但必须要有输入(C)用C程序实现的算法可以没有输入但必须要有输出(D)用C程序实现的算法可以既没有输入也没有输出4.以下不能定义为用户标识符是(A)Main (B) _0 (C) _int (D) sizeof5.以下选项中,不能作为合法常量的是(A) (B) (C)+4 (D)6.数字字符0的ASCII值为48,若有以下程序main(){char a='1',b='2';printf("%c,",b++);printf("%d\n",b-a);} 程序运行后的输出结果是(A)3,2 (B)50,2 (C)2,2 (D)2,507.有以下程序main(){int m=12,n=34;printf("%d%d",m++,++n); printf("%d%d\n",n++,++m);}程序运行后的输出结果是(A) (B) (C) (D)8.有以下语句:int b;char c[10];,则正确的输入语句是A)scanf("%d%s",&b,&c); B) scanf("%d%s",&b,c);(C)scanf("%d%s",b,c); D)scanf("%d%s",b,&c);9.有以下程序main(){int m,n,p;scanf("m=%dn=%dp=%d",&m,&n,&p);printf("%d%d%d\n",m,n,p); } 若想从键盘上输入数据,使变量M中的值为123,N中的值为456,P中的值为789,则正确的输入是A)m=123n=456p=789 B)m=123 n=456 p=789 C)m=123,n=456,p=789 D)123 456 78910.有以下程序main(){int a,b,d=25;a=d/10%9;b=a&&(-1);printf("%d,%d\n",a,b); }程序运行后的输出结果是A)6,1 B)2,1 C)6,0 D)2,011.有以下程序main(){int i=1,j=2,k=3;if(i++==1&&(++j==3||k++==3))printf("%d %d %d\n",i,j,k);}程序运行后的输出结果是(A)1 2 3 (B)2 3 4 (C)2 2 3 (D)2 3 312.若整型变量a、b、c、d中的值依次为:1、4、3、2。
C程序设计作业集第一章C语言概述一.填空题1.C程序是由构成的,一个C程序中至少包含因此,是C程序的基本单位。
2.C程序注释是由和所界定的文字信息组成的。
3.C语言是一个用途广泛,功能强大的程序语言,它具有的主要特点是:(1),(2),(3),(4),(5),(6),(7),(8)4.在C程序开发过程中,遵循如下所示的开发步骤,请填空。
()()()()有错?有错?有错?结束有有有程序代码错误设计算法错误5.函数体一般包括和二.判断题1.一个C程序的执行总是从该程序的main函数开始,在main函数最后结束。
【】2.main函数必须写在一个C程序的最前面。
【】3.一个C程序可以包含若干的函数。
【】4.C程序的注释部分可以出现在程序的任何位置,它对程序的编译和运行不起任何作用。
但是可以增加程序的可读性。
【】5.C程序的注释只能是一行。
【】6.C程序的注释不能是中文文字信息。
【】7.判断下列各个程序中的程序注释是否正确。
#in/某包含某/clued#includemain()main/某某/(/某主函数某/){【】{【】}}#include#includemain()main(){【】{int某=10;【】int某/某初始化某/=10;/某打印某/某某=10某/的值某/}}8.可以使用TurboC来编译和连接一个C程序。
【】开始9.可以使用TurboC来运行一个C程序。
【】10.可以使用TurboC来实时调试(即动态调试)一个C程序。
【】三.简答题1.写出一个C程序的基本结构。
2.简要叙述使用TurboC2.0编译和运行一个程序的步骤。
四.编程题1.提高题:参照课本例1.1,试编写一个C程序,输出如下信息。
(提示:使用键盘上的一些符号)。
2.提高题:试编写一个C程序,输出如下信息。
试试看,可以输出其他组合图案吗?第二章程序的灵魂——算法一.填空题1.是程序设计的灵魂。
2.一个计算机程序应包括和的内容。
C语言基础一:1.下列四组选项中,均不是C语言关健字的选项是( A )。
A) define B) gect C) include D) whileIF char scanf gotype printf case pow2.下面四个选项中,均是合法整型常量的选项是( A )。
A)160 B)-0xcdf C) -01 D)-0x48a-0xffff 01a 986,012 2e5011 0xe 0668 0x<<02>>B>>23.下面四个选项中,均是不合法的转义符的选项是( B )。
A) '\"' B) '\1011' C) '\011' D) '\abc''\\' '\' '\f' '\101''xf' '\A' '\}' 'x1f'4.下面不正确的字符串常量是( A )。
A)'abc' B)"12'12" C)"0" D)" "5.以下选项中不合法的用户标识符是( A )。
A)abc.c B)file C)Main D)PRINT6.C语言提供的合法关键字是( D )。
A) swithB) cherC) Case). Default7.下列标识符组中,合法的用户标识符为 AA)_0123与ssipedB)del-word与signedC)list与*jerD) keep%与wind8.在C语言中,逻辑值"真"的表示是用( C )。
A) true B) 整型值0 C)非另整型值 D) T9若有以下定义char s='\092';则该语句( B )A)使s的值包含一个字符 B)定义不合法,s的值不确定C)使s的值包含4个字符 D)使s的值包含3个字符10设C语言中,int类型数据占2个字节,则float类型数据占( D )个字节。
《程序设计基础(C)》作业第1章C语言的基本构成程序调试题1.编辑、调试以下程序步骤1:在Visual C++环境下新建文件可用[开始]→[程序]→[Microsoft Visual C++6.0] →[Microsoft Visual C++6.0] →[文件] →[新建]→[文件] →[C++ Sourse File],输入文件名ex1-1.c,程序代码如下:请思考文件ex1-1.c由几个函数构成?调用了那几个系统函数?此程序中用到了哪几个保留字?哪几个用户自定义标识符?步骤3:编译并运行程序,程序运行时输入两个整数,20 40 ,观察程序运行的结果。
2.编辑、调试以下程序步骤1:在Visual C++环境下新建文件可用[开始]→[程序]→[Microsoft Visual C++6.0] →[Microsoft Visual C++6.0] →[文件] →[新建]→[文件] →[C++ Sourse File],输入文件名ex1-2.c步骤3:[文件] →[新建]→[文件] →[C++ Sourse File],输入文件名ex1-2-2.c,源程序代码为:步骤5:点击编译图标,编译程序1-2.c步骤4:点击执行图标,执行程序1-2.c ,当程序运行时,键盘输入20 40,按回车。
20 4020 && 40=120 || 40=1您可以输入其它的整数,观察程序的执行结果。
第2章输入输出程序设计1.用printf输出一个中空的五角星。
2.仿照例子2.2,定义一个字符数组,从键盘输入一字符串,然后输出的程序。
#include<stdio.h>int main(){char string[80];printf("您是一个学生吗:\n");scanf("%s",string);printf("%s\n",string);retu3.从键盘输入十六进制整数,转化为八进制数输出。
4.只定义两个整型数据并赋值,实现两个整型数的互换。
#include<stdio.h>void change(int *a,int *b){*a^=*b;*b^=*a;*a^=*b;}int main(){int a=3,b=4;change(&a,&b);printf("a=%d b=%d\n",a,b);return 0;}5.从键盘上输入一个整数,分别输出8、16进制数的程序。
#include <stdio.h>void main(){char s[20];int i;int flag;printf("please input a number\n");while (1){flag = 0;scanf("%s", s);if (s[0] != '-' && (s[0] < '0' || s[0] > '9')){printf("input error!\nplease input again\n");continue;}for (i = 1; i != strlen(s); ++i){if ((s[i] <= '0' || s[i] >= '9')){printf("input error!\nplease input again\n");flag = 1;break;}}if (flag == 0){break;}}printf("八进制:%o\n十六进制:%x\n", atoi(s), atoi(s));}6.从键盘上输入一个整数,分别输出它的个位数,十位数,百位数。
main(){int a,b;scanf("d%",&a);b=a%10;printf("个位数是:d%\n",b);b=a%100/10;printf("十位数是:%d\n",b);b=a%1000/100;printf("百位数是:d%\n",d)}7.以下程序输出结果是(8 9 )。
#include<stdio.h>void main(){int i=010,j=10;printf("%d,%d\n",++i,j-- );}8.运行程序,屏幕提示“您是一个学生吗”,您输入‟y‟或‟n‟进行回答,屏幕输出您的选项。
9.从键盘输入一个角度x,求10*sin(x)的值。
第3章循环程序设计4.以下for语句的循环次数是多少?int i,j=3;for(;i=j;i--,j--) printf("%d",i);5.下面的语句显示输出6行6列的整数数组h的主对角线上的所有元素,请补充完整:for(int i=0;i< 6 ; i++ )printf("%d", h[i][i] )6.写出以下程序运行的结果,此程序实现了什么功能?#include<stdio.h>void main(){ int a[10]={2,4,0,-5,10,6,-8,9,6,7};int i, count=0;for(i=0;i<10;i++)if(a[i]==0) count++;else continue;printf("%d\n ", count);}7.写出以下程序的功能。
#include<stdio.h>void main(){int a[10]={2,4,0,-5,10,6,-8,9,6,7},tmp,k;for (k=0;k<10/2;k++){tmp=a[k];a[k]=a[10-k-1];a[10-k-1]=tmp;}}8.写出以下程序运行后的输出结果。
#include<stdio.h>void main(){int i,j;for(i=0;i<6;i++){for(j=0;j<i;j++)printf(" ");for(j=0;j<2*(5-i)-1;j++)printf("*");printf("\n");}}9.请改正下列程序的错误,改正后的程序写在右边的空白处,并上机调试检验。
(1)#include<stdio.h>void main( ){int i,s;i=1; s=0;while(i<=100);s=s+i;i++;printf(“1+2+3+….+99+100=%d\n”,s);}#include<stdio.h>void main( ){int i,s;i=1; s=0;while(i<=100);{s=s+i;i++;}printf(“1+2+3+….+99+100=%d\n”,s);}(2)#include<stdio.h>void main( ){int i,s;i=1;s=0;while(i<=100)s=s+i;i++;printf(“1+2+3+….+99+100=%d\n”,s);}#include<stdio.h>void main( ){int i,s;i=1;s=0;while(i<=100){s=s+i; i++;}printf(“1+2+3+….+99+100=%d\n”,s);}(3)#include<stdio.h>void main( ){int i=1,s;while(i<=100) ;{s=s+i;i++;}printf(“1+2+3+….+99+100=%d\n”,s);}#include<stdio.h>void main( ){int i=1,s=0;while(i<=100) ;{s=s+i;i++;}printf(“1+2+3+….+99+100=%d\n”,s);}10.输入一个基数,例如输入9,输出为:求1*3*……*9的值。
输出为:1*3*5*7*9=945 #include<stdio.h>int main(){int i,n,sum;sum=1;printf("input n=");scanf("%d",&n);for(i=1;i<=n;i+=2)sum*=i;printf("结果:%d\n",sum); return 0;}11.输入一个5~10之间的整数n,求1!+2!+3!+…+n!。
例如输入5,输出为:1!+2!+3!+…+5!=153#include "stdio.h"main(){int i;ng term=1,sum=0;for(i=1;i<=10;i++){term*=i; sum+=term;}printf("1!+2!+^+10!=%ld\ d\n",sum);}12.在屏幕上输出以下内容112123123412345123456123456712345678123456789#include<stdio.h>main(){printf(" 1 \n");printf(" 12 \n");printf(" 123 \n");printf(" 1234 \n");printf(" 12345 \n");printf(" 123456 \n");printf(" 1234567 \n");printf(" 12345678 \n");printf(" 123456789 \n");}12.求2+4+6+……+98+100的和,用多种for表达式来完成。
#include "stdio.h"main(){int i,sum=0;for(i=2;i<=100;i+=2) sum+=i;printf("sum=%d\n",sum);}14.输入一行字符,统计它有多少个字母?#include<stdio.h>int main(){int n=0;char ch;printf("请输入一串字符:\n");for(;(ch=getchar())!='\n' ;){if('a'<=ch&&ch<='z'||'A'<=ch&&ch<='Z')n++;}printf("字母个数%d\n",n); return 0;}第4章分支程序设计1.输入若干整数给x,使用if语句输出x的绝对值,当输入0时结束。