C语言第1次实验答案
实验一 参考答案
实验1 顺序结构程序设计(参考答案)一、实验目的(1) 熟悉Turbo C 的运行环境,掌握开发一个C程序的过程。
(2) 熟悉基本数据类型的特点,熟悉常用运算符的特点及表达式的求解。
(3) 掌握printf函数、scanf函数的使用。
(4) 掌握C程序的基本构成,熟悉顺序结构程序设计的一般步骤。
二、实验内容步骤(二)实验内容(按要求录入或设计以下程序,并调试分析运行结果,此部分完成在实验报告上)要求:运行前先分析结果,再与运行后的结果对比是否有所不同,并分析原因。
参考答案:分析:该程序主要练习printf函数的使用,首先找出printf函数的第一个参数即格式控制字符串中的格式字符(以%打头,后跟一个指定字符),该程序中只有%c格式,即是字符格式,每一个格式字符按照顺序对应之后的一个输出表达式,即输出表达式的值按前面指定的格式输出;格式控制字符串中的其他字符原样输出。
根据以上分析,该程序的运行结果如下:a1_b2_ _ _c3_ _ _ _ _ _abc_ _ _ _ _ _ _A B(注:下划线_表示空格的位置)要求:运行前先分析结果,再与运行后的结果对比是否有所不同,并分析原因。
参考答案:分析:该程序主要练习自增自减表达式的应用,其中m=i++; (++后置,即先运算后增减) 语句执行后m=10,i=11;n=++j; (++前置,即先增减后运算)语句执行后n=9,j=9.按照printf函数中指定的格式"%d,%d,%d,%d\n"和输出顺序m,n,i,j得以下输出结果:10,9,11,9参考答案:分析:该程序主要练习scanf函数的使用,scanf函数中的第一个参数格式控制字符串同printf函数,在格式字符位置输入要交给对应变量的值,其他普通字符原样输入,若是连续的数值数据格式符之间没有分隔符,则可以用默认的分隔符:空格(space)、回车(Enter)和跳格(Tab)键分隔各输入的数值数据。
C语言程序设计(第1次)
第1次作业一、单项选择题(本大题共60分,共20小题,每小题3分)1. #inl ucde <mycode.h> 是一条()。
A. 文件包含预处理命令B. 宏定义预处理语句C. 条件编译预处理命令D. C语句2.在C程序中,实型常数10-5的指数书写形式是()。
A.10A-5B.10E-5C.1E-5D.E-52. 下面关于结构体指针变量的描述中,正确的是()。
A. 定义一个结构体类型指针变量,可以用于存放同类型结构体变量在内存中的起始地址B. 定义一个结构体类型指针变量,可以存放同一程序中任意结构体类型变量地址C. 在函数的形式参数表中,不能有结构体类型指针变量作为形式参数D. 表示结构体变量的地址时,不需要使用取地址运算符,而是用结构体变量名直接表示3. 关于语句:int (*ptr)(); ,以下说法错误的是()。
A. ptr是指向函数的指针B. ptr可以指向定义为类似int a()的函数C. ptr是一个函数名,该函数返回值是指向整型数据的指针D. ptr是C语言的标识符合,命名要符合C语言的规定4. 下面关于结构体变量的描述中,错误的是()。
A. 结构体变量也遵循先定义、后使用的原则B. 结构体变量可以初始化C. 结构体变量不能作为整体实现数据的输入D. 结构体变量虽然不能整体输入,但可以整体实现数据输出5. 下面关于一维动态数组的描述中,错误的是( )。
A. 创建一维动态数组需要一个一级指针变量作为数组名使用B. malloc函数的返回值直接赋值给指针变量C. malloc函数的返回值需按要求强制转换后赋值给指针变量D. 动态一维数组的长度也不能是任意的长度6. 设有C语句序列:int arr[5],*p1; p1=arr; ,那么能够输入数组3号元素值的是()。
A. sca nf("%d",p1+3);B. sca nf("%d",arr[3]);C. sca nf("%d",p1*3);D. sca nf("%d",&p1[3]);7. 下面与结构体数组做函数参数相关描述中,错误的是( )。
第1章 C语言概述(实验1) - 参考答案
实验一熟悉C编程环境与程序设计步骤班级:学号:姓名:成绩:一.实验目的1、掌握启动和退出Visual C++ 6.0的常用方法。
2、熟悉Visual C++ 6.0的集成开发环境。
3、学习用Visual C++ 6.0编写简单的C++控制台程序,掌握C++单文件程序的输入、输出、编译、链接和运行过程。
4、认识C++程序的结构特点,学习程序的基本编写方法。
5、初步掌握程序的编辑、修改和调试。
二.使用的设备和仪器计算机+Windows XP +Visual C++6.0三.实验内容及要求1、编写一个C程序,输出以下信息:************************班级学生成绩管理系统**************************** * 1. 数据录入 2.数据查询 3.数据修改 4.数据删除 5.数据分析0退出* ************************************************************************ 参考程序:#include<stdio.h>void main(){printf("*********************班级学生成绩管理系统*******************\n");printf("* 1.数据录入2.数据查询3.数据修改4.数据删除5.数据分析0.退出*\n");printf("*************************************************************\n");}2、输入a,b,c3个值,输出其中最小值。
参考程序一#include<stdio.h>void main(){int a,b,c,min;printf("a="); scanf("%d",&a);printf("b="); scanf("%d",&b);printf("c="); scanf("%d",&c);if(a<b)min=a;elsemin=b;if(min>c)min=c;printf("最小数=%d\n",min);}参考程序二#include<stdio.h>void main(){int getMin(int x,int y,int z);int a,b,c,min;printf("a="); scanf("%d",&a);printf("b="); scanf("%d",&b);printf("c="); scanf("%d",&c);min=getMin(a,b,c);printf("最小数=%d\n",min);}int getMin(int x,int y,int z){int m;if(x<y)m=x;elsem=y;if(z<m)m=z;return m;}3、输入两个整数值x,y,输出这两个整数的和、差、积和商(选做)。
C语言程序设计实验答案解析
-前言-/*非常感谢度娘以及各位网上C语言高手的支持,才能让敝人完成此文档的整理。
本文档集合了本人、度娘、众网友的力量,其中代码的正确率约为90%(不正确的有标注)。
为回报度娘及众网友的帮助,本文档免费下载。
*//*配“电子科技大学出版社(周信东主编)”的C语言程序设计实验*//*努力吧,骚年以及学妹们!*//*整理ed by 口玉刀一 of GUET.*/=====================实验一 C语言程序初步=====================1.----------------------------已知a=5,b=4,c=6,求出s并换行#include"stdio.h"main(){int a,b,c,s;a=5;b=4;c=6;s=(a+b+c)/3;printf("a=%d,b=%d,c=%d\n,s=%d",a,b,c,s);}2.-------------------------------输入一个数字求他的平方#include<stdio.h>main(){int r,s;scanf("%d",&r);s=r*r;printf("s=%d\n",s);}3.--------------------------------(1)#include<stdio.h>main(){printf(" *\n");printf("***\n");printf(" *\n");}(2)#include<stdio.h>{int v;int a,b,c; //a,b,c aer sides,v is volume of cubea=3;b=3;c=5;v=a*b*c;printf("v=%d\n",v);}=================================实验二数据类型、运算符和表达式=================================1.(1)--------------------------------------------------//总觉得打印结果怪怪的,DO YOU THINK SO?main(){char s1='3',s2='4',s3='5';int c1=101,c2=102;printf("3%c\t4%c\t5%c\n",s1,s2,s3); //3%c为输出3和%cprintf("s1=%d\ts2=%d\ts3=%d\n",s1,s2,s3);//注意哦,s1,s2,s3是char!而%d:输入输出为整形 %ld 长整型 %hd短整型 %hu无符号整形 %u %lu%s:输入输出为字符串 %c字符%f:输入输出为浮点型 %lf双精度浮点型printf("c1=%d\t~%c\n",c1,c1); //换码符'\t',表示水平制表位(horizeontal tab),它的作用是将光标移到最接近8的倍数的位置printf("c2=%d\t~%c\n",c2,c2); //注意c1,c2的类型}(2)//运行结果为8.300000 %是求余数先运算x-y,把结果转换为int型的有利于四则运算main(){float x=8.3,y=4.2,s;int a=7;s=x+a%5*(int)(x-y)%2/3;printf("s=%f",s);}main(){int i,j,p,q;i=3;j=6;p=i++;q=--j;printf("%d,%d,%d,%d\n",i,j,p,q);p=i--+3;q=++j-4;printf("%d,%d,%d,%d",i,j,p,q);}(4)main(){int m=15,n=9,s;m*=3+2;printf("%d",m);n+=n-=n*=n;printf("%d",n);printf("%d\n",(s=6*5,m+n+s));printf("%d\n",s);}2.---------------------------------------------------- (1)#include<stdio.h>#define MM 40main(){int a=3,b=6,t;t=MM/(3+6);printf("%d%d",t,MM);}//原来printf语句打成了print,printf语句中少了一个%d.(2)#include<stdio.h>{int m;double x;scanf("%d",&m);x=3.14*m*m;printf("%f",x);}//注意分号,%f转义(3)main(){int m=8,n=5;printf("%d",m*=m-n);printf("%d,%d,%d",m=m+1,n-1,m+n);}3.---------------------------------------------------- main(){int a=9,b=5;a+=b;b=a-b;a-=b;printf("%d%d",a,b);}4.---------------------------------------------------- //4.输入a,b,c三个变量,计算数学公式(a*b)/cmain(){int a,b,d;float s,c;scanf("%d%d%f",&a,&b,&c);d=a*b;s=d/c;printf("%f",s);}=================================实验三顺序结构和输入输出方法=================================1.---------------------------------------------------(1)main(){int m=345,t;float n=2.56;t=2.56*100;printf("m=%d,n*100=%d\n",m,t);}(2)main(){int a,b,c,s,v;scanf("%d%d%d",&a,&b,&c);s=a*b;v=a*b*c;printf("%d,%d,%d\n",a,b,c);printf("s=%d,v=%d\n",s,v);}2.----------------------------------------------------(1)main(){int m,n;float x=3.5,y=6.2;scanf("%d,%d",&m,&n);printf("%6d,%6d",m,n); /*每个数的输出宽度为6,两个数之间逗号建个。
c程序设计实验参考答案
c程序设计实验参考答案在计算机科学领域中,C程序设计是一门重要的课程,通过实验来加深对C语言的理解和应用,提高编程技巧和问题解决能力。
本文将提供一些C程序设计实验的参考答案,帮助学生更好地完成实验任务。
1. 实验一:基础语法练习实验目的:熟悉C语言的基础语法,掌握变量定义、运算符使用和基本IO操作等。
```c#include <stdio.h>int main() {int a = 5, b = 3;int sum, product;sum = a + b;product = a * b;printf("The sum of a and b is %d\n", sum);printf("The product of a and b is %d\n", product);return 0;}```2. 实验二:条件语句和循环结构实验目的:学习和掌握if-else语句、switch-case语句以及while和for循环的基本用法。
```c#include <stdio.h>int main() {int score;printf("Please enter your score: ");scanf("%d", &score);if (score >= 90) {printf("Excellent!\n");} else if (score >= 80) {printf("Good job!\n");} else if (score >= 70) {printf("Keep it up!\n");} else {printf("You need to work harder!\n");}int i;for (i = 1; i <= 10; i++) { if (i % 2 == 0) {printf("%d ", i);}}printf("\n");int j = 1;while (j <= 10) {if (j % 2 != 0) {printf("%d ", j);}j++;}printf("\n");return 0;}```3. 实验三:数组和字符串实验目的:熟悉数组和字符串的定义、初始化和基本操作,学习使用数组和字符串解决问题。
C语言第一次作业及答案
10.下列的 for 循环执行 次。[4] for ( x=0, y=0; ( y!=99) && x<4; x++ ); 11.若 x 是 int 型变量,下面程序段的输出结果是 [**3##4 **5] for ( x=3; x<6 ; x++ ) printf ( ( x%2 ) ? ( “ ** %d”) : (“## %d\n”), x); 12.补足程序,实现如下功能:从键盘上输入若干个学生的成绩,统计并输出最高成绩和最 低成绩,当输入负数时结束输入。 [ (1)score >=0 && score <=100 (2)score<min 或 score <=min] void main() { float score, max=0, min=100; printf(“ Input the score”); 。
3ae ,则不正确的表达式是( bc
Байду номын сангаас
) 。[C]
A)a/b/c*e*3 B)3*a*e/b/c C)3*a*e/b*c D)a*e/c/b*3 10.以下选项中不合法的赋值语句是( ) 。[C] A)c=(a=1,b=2); B)k=i=j; C)a=b+c=5; D)n1=(n2=(n3=0)); 11.若希望当 A 的值为奇数时,表达式的值为“真” ,A 的值为偶数时,表达式的值为“假” 。 则以下不能满足要求的表达式是( ) 。[C] A)A%2= =1 B) !(A %2 = =0) C)!(A%2) D)A%2 12.若 w=1,x=2,y=3,z=4,则条件表达式 w<x?x:y<z?y:z 的值是( ) 。[C] A)4 B)3 C)2 D)1 13.设 ch 是 char 型变量,其值为 A, 下面表达式的值为( ) 。[B] ch = ( ch >= ‘A’ && ch <= ‘Z’ ) ? ( ch + 32 ) : ch ; A)A B)a C)Z D)z 14.假定所有变量均已正确说明,下列程序运行后 x 的值是( ) 。[A] a=b=c=0, x=35; if (! a) x――; else if (b ); if ( c) x=3; else x=4;
C语言上机实验答案
实验一 上机操作初步 (2 学时 )一、实验方式:一人一机二、实验目的:1、 熟悉VC+语言的上机环境及上机操作过程。
2、 了解如何编辑、编译、连接和运行一个 C 程序。
3、 初步了解C 程序的特点。
三、实验内容: 说明:前三题为必做题目,后两题为选做题目。
1 、输出入下信息: ( 实验指导书 P79)*************************Very Good*************************2、 计算两个整数的和与积。
(实验指导书 P81)3、 从键盘输入一个角度的弧度值x ,计算该角度的余弦值,将计算结果输出到屏幕。
(书 P3)4、 在屏幕上显示一个文字菜单模样的图案:1 输入数据2 修改数据3 查询数据4 打印数据5、从键盘上输入两个整数,交换这两个整数四、实验步骤与过程:五、实验调试记录:六、参考答案:1 、 #include <stdio.h>void main( )printf( “ Very Good\n ” );2、 #include <stdio.h>void main( ) { int a,b,c,d;printf( printf( );{ printf( );Please enter a,b: ”);scanf( “%d,%d” ,&a,&b); c=a+b; d=a*b;printf( printf( }“ %d+%d=%d”\n ,a,b,c); “ %d*%d=%d\”n ,a,b,d);3、#include <stdio.h> #include <math.h> void main( ){ double x,s; printf( scanf( “ Please input value of x: ”); “%lf ”,&x);s=cos(x);printf(}“ cos(%lf)=%lf\n ”,x,s);4、#include <stdio.h>void main( ) { printf(printf( printf( printf(}“==================================”\n) ; “ 1 输入数据 2 修改数据\n ”);“ 3 查询数据 4 打印数据\n ”);“===================================”\ n);5、#include <stdio.h> void main( ){ int x,y,t;printf( scanf( “ Please enter x and y: ”); “%d%”d ,&x,&y);t=x; x=y; y=t;printf(}“ After swap:x=%d,y=%d\n ” ,x,y);实验二简单的C程序设计(4学时)、实验方式:一人一机、实验目的:1、掌握C语言的数据类型。
c语言程序设计实验指导参考答案
c语言程序设计实验指导参考答案C语言程序设计实验指导参考答案在学习C语言程序设计的过程中,实验是不可或缺的一部分。
通过实验,我们可以巩固所学的知识,提高编程能力。
然而,有时候我们可能会遇到一些难题,不知道如何下手。
本文将为大家提供一些C语言程序设计实验的参考答案,希望能够帮助大家更好地完成实验任务。
1. 实验一:C语言基础实验一主要涉及C语言的基础知识,包括变量、运算符、控制语句等。
以下是一些常见的题目及参考答案:题目一:编写一个程序,实现两个整数的交换。
```c#include <stdio.h>void swap(int *a, int *b) {int temp = *a;*a = *b;*b = temp;}int main() {int a, b;printf("请输入两个整数:");scanf("%d %d", &a, &b);swap(&a, &b);printf("交换后的结果为:%d %d\n", a, b); return 0;}```题目二:编写一个程序,求1到n的和。
```c#include <stdio.h>int sum(int n) {if (n == 1) {return 1;} else {return n + sum(n - 1);}}int main() {int n;printf("请输入一个正整数:");scanf("%d", &n);printf("1到%d的和为:%d\n", n, sum(n)); return 0;}```2. 实验二:数组和字符串实验二主要涉及数组和字符串的应用。
以下是一些常见的题目及参考答案:题目一:编写一个程序,找出数组中的最大值。
```c#include <stdio.h>int findMax(int arr[], int n) {int max = arr[0];for (int i = 1; i < n; i++) {if (arr[i] > max) {max = arr[i];}}return max;}int main() {int arr[] = {1, 2, 3, 4, 5};int n = sizeof(arr) / sizeof(arr[0]);printf("数组中的最大值为:%d\n", findMax(arr, n));return 0;}```题目二:编写一个程序,判断一个字符串是否为回文字符串。
C语言实验报告 实验一 参考答案
实验一参考答案1、数据类型、运算符和表达式的应用(1)整型数据的溢出(建立程序文件名为sy1-1.c)# include <stdio.h>void main(){short int a,b;a=32767;b=a+1;printf("a=%d,b=%d\n",a,b);}程序运行结果:a=32767,b=-32768原因:32767是short int型数据的最大值,其二进制为(0111111111111111),在其上加1后产生溢出,变成-32768的补码,其二进制为(1000000000000000)。
整数在内存中以二进制补码形式存放,运算时符号位也要参与运算。
结论:使用整型数据应注意其表示范围,避免产生溢出。
(2)浮点型数据的舍入误差(建立程序文件名为sy1-2.c)# include <stdio.h>void main(){float a,b;a=123456.789e5;b=a+20;printf("a=%f\tb=%f\n",a,b);}程序运行结果:a=1345678848.000000 b=12345678868.000000原因:理论分析a变量的值为12345678900,b的值经计算应为12345678920,结果输出的a和b的值都不对,原因是float型数据的有效数字位数为7位,后几位数字都是不准确的。
结论:应当避免将一个很大的数和一个很小的数直接相加或相减,否则会“丢失”较小的数。
(3)字符型数据和整型数据的混合使用(建立程序文件名为sy1-3.c)# include <stdio.h>void main(){char c1,c2;c1=65; c2=66;printf("%c %c\n",c1,c2);}程序运行结果:A B原因:c1,c2两个变量的类型为char型,在内存中分配1B的存储空间用于存放字符的ASCII码二进制,其存放的数据范围为0~255。
C语言实验答案
C语言实验答案实验一:编写C程序求和实验背景:C语言是一种通用的程序设计语言,可以用于开发各种应用程序。
在本实验中,我们将学习如何使用C语言编写程序来求和。
实验步骤:1. 打开集成开发环境(IDE)或文本编辑器,创建一个新的C程序文件。
2. 在程序文件中,添加必要的头文件,如stdio.h。
3. 在主函数中,声明变量来存储要求和的数字。
4. 使用printf函数提示用户输入数字,并使用scanf函数从用户处接收输入。
5. 在程序中使用循环语句(如for循环或while循环)将输入的数字相加。
6. 使用printf函数将求和结果输出到屏幕上。
7. 编译并运行程序,验证结果是否正确。
实验示例代码:```c#include <stdio.h>int main() {int num1, num2, sum = 0;printf("请输入第一个数字: ");scanf("%d", &num1);printf("请输入第二个数字: ");scanf("%d", &num2);for(int i = num1; i <= num2; i++) {sum += i;}printf("两数之间的和为: %d\n", sum);return 0;}```实验结果:假设用户输入的第一个数字为1,第二个数字为5,则程序会输出结果:```两数之间的和为: 15实验二:编写C程序实现字符串反转实验背景:在C语言中,对字符串进行反转是一种常见的操作,可以用于解决很多问题,如判断回文等。
在本实验中,我们将学习如何使用C语言编写程序来实现字符串反转。
实验步骤:1. 打开集成开发环境(IDE)或文本编辑器,创建一个新的C程序文件。
2. 在程序文件中,添加必要的头文件,如stdio.h和string.h。
C语言实验一到实验八答案
实验一:1、录入如下C源程序:main( ){ printf("This is a C Program\n")printf("I am a student\n");}main(){printf("This is a C Program\n");printf("I am a student\n");}2、编写一个C程序,第一行显示你的名字,第二行显示你所在的街道地址,第三行显示你所在的城市和邮政编码。
#include <>int main(){ printf("Joe Smith");printf("\n99 Somewhere Street");printf("\nNonesuch, ., 07030");return 0;}3、编写一个C程序,输出以下信息:****************************Hello,World!****************************#include<>main(){printf("***********************\n");printf(" Hello, World!\n");printf("***********************\n");}4、编程序,输出如下图形:* *** ***** ***********#include<>main(){printf("* *\n");printf("** **\n");printf("*** ***\n");printf("********\n");}5、遵循良好的编程习惯重新编写下列程序#include<>int main(){printf(“The time has come”); }#include<>int main(){printf("The time has come");}6、输入以下程序,查找错误并改正,输出正确的运算结果#include<>void main(){int a,ba=123;b=456;sum=a+bprint(sum is %d\n,sum);}#include<>void main(){int a,b,sum;a=123;b=456;sum=a+b;printf("sum is %d\n",sum);}7、编写一个C程序,显示表达式*,*和(*5)的结果。
C实验报告答案完整版
实验1简单判定性问题求解一、实验学时完成本实验需4学时。
二、实验目的1、阅读程序题(1)掌握C语言数据类型,熟悉如何定义一个整型、字符型的变量,以及对它们赋值的方法;(2)掌握不同的类型数据之间赋值的规律;(3)掌握数据在内存中的存储方式;(4)学会输入、输出函数的基本格式和使用方法;(5)学会使用有关算术运算符、逻辑运算符、关系运算符,以及包含这些运算符的表达式。
2、编程题(1)如何运用if-else判定性结构进行程序设计;(2)如何运用switch判定性结构进行程序设计。
3、调试题(1)熟悉C程序的编辑、编译、连接和运行的过程。
三、实验指导为了达到最佳的实验效果,以下提供几条适于编程的指导意见,可供参考。
1、阅读程序题应先运用自己在课堂所学的知识,推导出结果,在上机时输入计算机,印证自己推导的结果,注意观察数据在内存中的存储方式、含不同种运算符表达式的输出结果。
2、编程题必须首先画出流程图,并反复思考判断程序设计的正确性,完成程序的设计。
要注意简单判定性问题的结构选择。
3、调试题应明确程序的调试、测试是一项非常烦琐的工作,也是非常重要的工作。
对于初学者来说应该建立良好的习惯,在调试程序的时候,应该尽可能考虑到程序运行时各种可能情况。
四、实验内容1、阅读程序题(1)main( ){ /*定义字符型变量*/char c1,c2; /*向字符变量赋以整数*/c1=97;c2=98;printf("%c %c\n",c1,c2); /*以字符形式输出*/printf("%d %d\n",c1,c2); /*以整数形式输出*/}思考:可否改成int c1,c2;输出结果是?相同(2)main(){int a=7,b=5;printf("%d\n",b=b/a);}思考:若将printf语句中%d变为%f,可否输出分式的值?可以(3)main(){int a=9;a+=a-=a+a; /*包含复合的赋值运算符的赋值表达式*/printf("%d\n",a);}思考:赋值表达式a+=a-=a+a的求解步骤?第一步:a=a-(a+a)=-9 第二步a=a+a=18(4)main(){int k=-1;printf("%d,%u\n",k,k);}思考:-1在内存中的存储形式?取反加一11111111111111111111111111111111(32个)(5)main(){unsigned x1;int b=-1;x1=b; /*有符号数据传送给无符号变量*/printf("%u",x1);}(6)main(){int a=3,b=4,c=5;printf("%d\n",(!(a<b))&&(c=c+1));printf("%d",c);}思考:若将第一个1(换行)6(7)main(){ int a=1,b=2,c=3;if(c=a) ; printf("%d\n",c);else printf("%d\n",b);}2、编程序并上机调试运行(包括题目及要求、流程图、程序清单、测试数据及结果)(1)将一个百分制成绩转换成等级制成绩,百分制与等级制的对应具体要求如下:1)用switch语句实现该功能;2)用键盘输入百分制成绩,输入前要有提示信息,对于不合理的数据应输出错误信息;3)输出结果应包含百分制成绩和成绩等级;4)分别输入成绩-10,30,60,68,75,83,95,102,查看记录运行结果。
C语言实验答案
C语言实验答案实验1: C语言基础1. a) 此程序的输出结果是:10 15 20int x = 10;printf("%d ", x++);printf("%d ", ++x);printf("%d", x++);b) 解释:- 在第一个printf语句中,x的值被打印后才执行自增操作,所以输出结果为10;- 在第二个printf语句中,x先自增再打印,所以输出结果为15;- 在第三个printf语句中,x先打印再自增,所以输出结果为20。
2. 此程序的输出结果是:6int a = 10, b = 4, c = 6;printf("%d", ++c + a / --b);解释:- 在表达式中,++c表示先将c自增1,--b表示先将b自减1;- a/--b会先执行除法操作,即10/3,结果为3;- ++c + 3的结果为9;- 因此,最终的输出结果为6。
实验2: 控制结构1. a) 此程序的输出结果是:odd even odd even odd evenfor (int i = 1; i <= 6; i++) {if (i % 2 == 0) {printf("even ");} else {printf("odd ");}}b) 解释:- 在for循环中,i从1逐渐增加到6;- 当i为奇数时,输出"odd ",当i为偶数时,输出"even "; - 因此,最终的输出结果为"odd even odd even odd even"。
2. a) 此程序的输出结果是:1 3 5 7 9int i = 0;while (i < 10) {i++;if (i % 2 == 0) {continue;}printf("%d ", i);}b) 解释:- 在while循环中,i从0逐渐增加到9;- 当i为偶数时,遇到"continue"语句,跳过后续的代码,继续下一次循环;- 当i为奇数时,打印i的值;- 因此,最终的输出结果为"1 3 5 7 9"。
c语言第1次实验答案.docx
11〜12 (—)C程序设计实验1.1实验目的1.通过运行简单的c程序,初步了解c程序的特点。
2.掌握和理解木实验屮岀现的一些最基木的C语句。
3.学习编制简单的C程序。
导航:顺序程序设计体验选择结构程序设计循环结构程序设计1.2在Visual C++6.0编程环境下的工作流程第1步:进入Visual C++环境后,打开“文件”菜单,执行“新建”命令。
第2步:在“新建”对话框中选择“文件”选项卡,然后选择C++ Source File选项。
第3步:在右边的目录文本框中输入准备编辑的源程序文件的存储路径,在文件文本框屮输入准备编辑的C源程序文件名(如:syl」.c)。
注意后缀是.c。
然后按【确定】按钮。
第4步:在光标闪烁的程序编辑窗口输入上面C程序(注意:/* */之间的内容为程序注释部分,不执行),程序输入完毕单击“文件” 一“保存”,或单击工具栏上的保存按钮,也可以用<Ctrl+S>快捷键來保存文件。
第5步:选择菜单“编译” 一“编译”命令,或单击工具栏上的“编译”图标,也可以按<Ctrl+F7>键,开始编译。
观察调试信息窗口输出编译的信息,如杲有错,则修改后再编译,直至编译信息为:Ocrror(s)表示编译成功。
第6步:单击<F7>键或工具栏图标幽,生成应用程序的.EXE文件(如syl_l.exe)。
第7步:运行程序观察结果。
选择菜单“编译” 一“执行”,或单击工具栏上的执行图标!,也可以使用<Ctrl+F5>快捷键。
第8步:关闭程序工作区1.3实验内容1)[问题]编辑、运行一个简单的C程序。
保存文件为syl-l.Co[代码]# include <stdio.h> main()int a,b,sum,m,f; /*定义整型变量a, b,sum, m, f*/float d; /*定义实型变量d*/printf("Please Input a,b \n ”); /*输出语句*/ scanf(”%d%d”,&a,&b);/*输入语句由键盘输入两个数分别赋予a和b*/sum=a+b; /*赋值语句*/m=a-b;f=a*b;d=a/2.0;printf(”%d + %d=%d\n',,a,b,sum); /* 输出语句 */printf(n%d - %d=%d\n n,a,b,m); printf(M%d * %d=%d\n M,a,b,f); printf(n%d/ %d=%f\n H,a,2,d);2)若有定义int x,a,b,c;,写出顺序执行下列表达式后x的值,然后通过程序验证。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1 求出它是几位数; 2 分别打印出每一位数字; 3 逆顺序打印出各位数字,例如原来为 321,应输出 123。 #include<stdio.h> main() {int n,a,b,c; scanf("%d",&n); a=n/100;b=n/10%10;c=n%10; if(a>0) printf(" 是三位数\n"); else if(b>0) printf("是两位数\n"); else printf("是一位数\n"); printf("三位数字分别为:%d%d%d\n",a,b,c); printf("逆序输出为:%d\n",c*100+b*10+a); }
printf(“ ”);
printf(“*”);
/*显示中间层每层起点星号*/
for(j=1;j<= 2*i-1
;j++)
printf(“ ”);
printf(“*\n”);
/*显示中间层每层终点星号*/
}
for(j=1;j<= k-i-1
;j++)
printf(“ ”);
printf(“*”);
/*显示底边起始星号*/
第 4 步:在光标闪烁的程序编辑窗口输入上面 C 程序(注意:/* */之间的内容为程序 注释部分,不执行),程序输入完毕单击“文件” “保存”,或单击工具栏上的保存按钮, 也可以用<Ctrl+S>快捷键来保存文件。
第 5 步: 选择菜单“编译” “编译”命令,或单击工具栏上的“编译”图标,也可 以按<Ctrl+F7>键,开始编译。观察调试信息窗口输出编译的信息,如果有错,则修改后再 编译,直至编译信息为:0 error(s)表示编译成功。
}
(6)下列程序的功能为:查找 100 至 999 之间所有符合以下条件的数:是另一数的平方;至 少有两位数是相同的。如数 144,它是 12 的平方,其中有两位 4。保存文件为 sy1-8.c。
main() {int n,m,a,b,c; for ( n = 10; n <= 31; n++ )
{ m = n*n; a = m % 10; b = m / 10 % 10; c = m / 100 % 10; if ( a==b || b==c || a==c ) printf( "%d ", m ); }
第 6 步:单击<F7>键或工具栏图标 ,生成应用程序的.EXE 文件(如 sy1_1.exe)。
第 7 步:运行程序观察结果。选择菜单“编译” “执行”,或单击工具栏上的执行图 标 ,也可以使用<Ctrl+F5>快捷键。
第 8 步:关闭程序工作区
1.3 实验内容
1)[问题] 编辑、运行一个简单的 C 程序。保存文件为 sy1-1.c。
scanf (“%d”,&k);
} while ( k<7 ||k>73 );
/*容错输入顶点所在当前行的列数*/
for(j=1;j<=k-1;j++)
printf(“ ”);
printf(“*\n”);
/*显示顶点星号*/
Байду номын сангаас
for(i=1;i<=5;i++)
/*中间 5 层输出*/
{ for(j=1;j<= k-i-1 ;j++)
printf(“please input the age.\n”); scanf(“%f ”, &age); if (age<3) printf(“The fee is 1000\n”); /* age<3 是表达式 1 */
else if(age<4) printf(“The fee is 800\n”); /* 采用 else if 结构 */ else if(age<5) printf(“The fee is 600\n”); /* 继续采用 else if 结构 */ else printf(“The fee is 500”); /* 相当于语句 n+1 */
if ( x<y
)
{z=x; x=y;y=t;
}
pringf(“%d,%d”,x,y);
}
(3) 以下程序的功能是:试在屏幕当前行的任意可能位置绘制如下等腰三角形。保存文件
为 sy1-11.c。
*
**
**
**
*
*
*
*
*************
main ()
{ int i,j,k;
do
{
printf(“please input vex(7~73)=\n”);
[代码]
#include <stdio.h>
main()
{
int a,b,sum,m,f;
/*定义整型变量 a,b,sum,m,f*/
float d;
/*定义实型变量 d */
printf("Please Input a,b \n "); /*输出语句*/
scanf("%d%d",&a,&b); /*输入语句由键盘输入两个数分别赋予 a 和 b*/
(3)求出任意一个数 m(设 4≤m≤10000)的所有素因子。例如,37 的素因子是 37; 420 的素因子是 2,2,3,5,7。(程序保存为 sy1_14.c)
#include<stdio.h> #include<math.h> main() { int i,n,j,k; do scanf("%d",&n); while(n<4||n>10000);
(1) 保存文件为 sy1-3.c
#include <stdio.h> main()
{ int x=2,y=3,a; a=x*y; print ("a=%d",a); printf("\n");
}
(2)程序的功能为:计算圆面积并将结果输出。保存文件为 sy1-4.c
[代码] #include <stdio.h> main()
{ float r=10,h=5; v=1.0/3*3.14159*r*r*h; printf("v=%f\n",v);
}
(4)下列程序的功能是:输入一个数,判断它是否既是 5 的倍数又是 7 的倍数,然后输出
判断结果。保存文件为 sy1-6.c。
main() { int number;
printf(“please input a number!”); scanf(“%d”,&number); /* number 存放被测试数据 */ if (number%5=0 && number%7=0) /* number 是 5 或 7 的倍数 */ printf(“yes,It is the multiple of 5 and 7.\n”); else /* number 不是 5 或 7 的倍数 */ printf(“no,It isn’t the multiple of 5 and 7. \n”); }
(5)下列程序的功能是:查询幼儿园收费标准,即:输入幼儿年龄,输出收费标准(不同
年龄的收费标准不同,小于 3 岁的收费 1000 元,3~4 岁收费 800 元,4~5 岁收费 600 元,超
过 5 岁收费 500 元)。保存文件为 sy1-7.c。
main() { float age,money; /* 小孩可能未满整岁,故采用浮点数 */
printf("\n%d的素因子为:",n); for(i=2;i<=n;i++)
if(n%i==0) { k=sqrt(i);
for(j=2;j<=k;j++) if(i%j==0)break; if(j>k)
printf("%d ",i); } }
sum=a+b;
/*赋值语句*/
m=a-b;
f=a*b;
d=a/2.0;
printf("%d + %d=%d\n",a,b,sum); /*输出语句*/
printf("%d - %d=%d\n",a,b,m);
printf("%d * %d=%d\n",a,b,f);
printf("%d / %d=%f\n",a,2,d);
11~12(一)C 程序设计实验一 1.1 实验目的
1.通过运行简单的 C 程序,初步了解 C 程序的特点。 2.掌握和理解本实验中出现的一些最基本的 C 语句。 3.学习编制简单的 C 程序。
导航: 顺序程序设计体验 选择结构程序设计 循环结构程序设计
1.2 在 Visual C++6.0 编程环境下的工作流程
scanf("%d%d%d", &a,&b,&c
);
t=a
;
a=c
;
c=b
;
b=t
;
printf("a=%d b=%d c=%d\n",a,b,c);
}
(2)下列程序的功能是:对输入两个整数,按从大到小顺序输出。保存文件为 sy1-10.c。
main()