第二章 C#编程基础
c语言第二章习题
第二章练习题一、填空题1、在C语言中的实型变量分为两种类型,它们是float型和()型。
2、若有定义:char c='\010';则变量c中包含的字符个数为()3、已知字母a的ASCII码为十进制数97,且设ch为整型变量,则表达式ch='a'+'8'-'3'的值为()4、在C语言中(以16位PC机为例),一个float型数据在内存中所占的字节数为()个;一个int型数据在内存中所占的字节数为()个。
5、在C语言中,表示逻辑“假”值用数字()表示。
6、C语言中的标识符只能由字母、数字和()三种字符组成。
7、表达式8/4*(int)(2.5)/(int)(1.25*(3.7+2.3))的值为()8、整型常量即整常数。
可用三种形式表示:十进制整数、八进制整数以()开头、十六进制整数以()开关(注:请用小写字母)9、请将75写成C语言八进制和十六进制表示(),()。
10、若有定义:int m=5,y=2;则计算表达式y+=y-=m*=y后的y值是()11、若a是int型变量,则表达式(a=4*5,a*2),a+6的值为()。
12、若a,b和c均是int型变量,则计算表达式a=(b=4)+(c=2)后,a值为(),b值为(),c值为()。
13、若a是int型变量,且a的初值为6,则计算表达式a+=a-=a*a后a的值为()14、若a是int型变量,则计算表达式a=25/3%3 后a的值为()15、若x和n均是int型变量,且x和n的初值均为5,则计算表达式x+=n++后x的值为(),n的值为()16、若有定义:int b=7;float a=2.5,c=4.7;则下面表达式的值为()a+(int)(b/3*(int)(a+c)/2)%417、若有以下定义:int a=2,b=3;float x=3.5,y=2.5;则下面表达式的值为()(float)(a+b)/2+(int)x%(int)y18、若有定义:int x=3,y=2;float a=2.5,b=3.5;则下面表达式的值为()(x+y)%2+(int)a/(int)b19、所有变量均为整型,则表达式(a=2,b=5,a++,b++,a+b)的值为()20、若有定义:int e=1,f=4,g=2;float m=11.29,n=4.0,k;则计算赋值表达式k=(e+f)/g+sqrt(n*1.2/g+m)后k的值是()21、若x为int型变量,则执行以下语句后x的值是()x=7; x+=x-=x+x;22、当a=3,b=2,c=1时,表达式f=a>b>c的值是()23、已知A=7.5,B=2,C=3.6,表达式A>B&&C>A||A<B&&!C>B的值是()24、若a=6,b=4,c=2,则表达式!(a-b)+c-1&&b-c*2的值是()25、若a=1,b=4,c=3,则表达式!(a<b)||!c-3&&!a+c-b的值是( )26、若a=6,b=4,c=3,则表达式a&&b-c-1||!(c-3)的值是( )27、设a=3,b=4,c=5,则表达式a||b+c&&b==c的值是( )28、当m=2,n=1,a=1,b=2,c=3时,执行完d=(m=a!=b)&&(n=b>c)后,n的值为( ),m的值为( )29、有int x,y,z;且x=3,y=-4,z=5,则表达式x-3&&y==(!x-3||z-5)的值为()30、以下程序的运行结果是()main(){if (2*2==5<2*2==4)printf("T");elseprinft("F");}31、若a=1,b=2,c=3,d=4,则表达式a>b?a:c>d?c:d的值为()32、以下程序的运行结果是()#inclue <stdio.h>main( ){ int x=1,y,z:x*=3+2; printf("%d,",x);x*=y=z=5; printf("%d,",x);x=y==z; printf("%d\n",x);}33、若运行时输入:100<回车>时,则以下程序的运行结果是()main(){ int a;scanf("%d",&a);printf("%s",(a%2!=0)?"no":"yes");}34、已有定义int i,j;float x;为将-10赋给i,12赋给j,410.34赋给x;则对应以下scanf函数调用语句的数据输入形式是()scanf("%d,%d,%f",&i,&j,&x);35、在printf函数中,以八进制形式输出整数用%()格式,以十六形式输出整数用%()格式。
c语言(第二章.2)基础-谭
3.不同类型的数据有不同的操作。
第二章 C语言程序设计入门
三. C语言的变量类型: 整型
1.基本类型 字符型 浮点型 枚举 数组 2.构造类型 结构体
短整型
长整型
单精度 双精度
共用体 3.指针类型
第二章 C语言程序设计入门
四. 变量定义
变量定义方式: [存储类型] 类型名 变量名 在C语言中, 变量必须先定义,后使用 若程序中有: int student_num; /*变量定义*/ : : student_num=30; /*给变量赋值*/ 则student_num变量是合法的。
/*这是定义变量*/
a=123; b=456;
/*给变量赋值*/
sum=a+b; /*求两个数之和*/ printf("a+b= %d\n", sum); } 运行结果:
a+b=579
第二章 C语言程序设计入门
Байду номын сангаас
例3: /* Example for Function program */ #include “stdio.h” main( ) /* 主函数*/ { int a, b, c; /*定义变量*/ scanf(― %d, %d‖, &a, &b); /*输入变量a和b的值*/ c=max(a, b); /*调用max函数,将得到的值赋给c*/ printf(― max=%d‖,c;) /*输出c的值*/ } int max (x, y) { int x, y; /*对形参x、y作类型定义*/ int z; /*max函用到的变量z,也要加以定义*/ z=y; if (x>y) z=x; return (z); /*将z的值返回,通过max带回调用处*/ }
C语言教程课件第二章 数据类型、运算符和表达式
例 整型变量的定义与使用
#include <stdio.h> void main() { int a,b,c,d; /*指定a、b、c、d为整型变量*/ unsigned u; /*指定u为无符号整型变量*/ a=12;b=-24;u=10; c=a+u;d=b+u; printf("a+u=%d,b+u=%d\n",c,d); }
例 向字符变量赋以整数。 • 运行结果: #include <stdio.h> a b void main() 97 98 { char c1,c2; c1=97; c2=98; printf("%c %c\n",c1,c2); printf("%d %d\n",c1,c2); }
• 说明:在第4和第5行中,将整数97和98分别赋给c1和c2,它 的作用相当于以下两个赋值语句: c1='a';c2='b'; 因为'a'和'b'的ASCII码为97和98
• 字符型变量用来存放字符常量,注意只能放一个字符。 • 字符变量的定义形式如下:char c1,c2; • 在本函数中可以用下面语句对c1,c2赋值: c1='a';c2='b'; • 一个字符变量在内存中占一个字节; • 将一个字符常量放到一个字符变量中,是将该字符的 相应的ASCII代码放到存储单元中,这样使字符型数据 和整型数据之间可以通用。一个字符数据既可以以字 符形式输出,也可以以整数形式输出。
运行结果: total=300 例2.1 符号常量的使用 #define PRICE 30 #include <stdio.h> void main ( ) 说明:如再用赋值语句给PRICE赋值是错的 { PRICE=40;/*错误,不能给符号常量赋值*/ int num, total; num=10; total=num * PRICE; printf(″total=%d\n ″,total); } 说明: 程序中用#define命令行定义PRICE代表常量30,此后凡在 本文件中出现的PRICE都代表30,可以和常量一样进行运算
第2章 用C语言编写程序-xia03
y = 4 * x / 3; y = 2.5 * x - 10.5
要解决的问题: 要解决的问题: 输入 计算分段函数 输出,并保留2 输出,并保留2位小数
4
PAN XIAONAN
程序解析: 程序解析:
Enter x (x>=0): 9.5
Enter x (x>=0): 15
#include <stdio.h> f(9.500000)=12.67 f(15.000000)=20.00 int main(void) Enter x (x>=0): { 21.3 double x, y; f(21.300000)=42.75 (x>=0):\ printf("Enter x (x>=0):\n"); /* 输入提示 */ scanf("%lf lf", 调用scanf scanf函数输入数据 scanf("%lf", &x); /* 调用scanf函数输入数据 */ if(x 15) else语句 if(x <= 15) /* if – else语句 */ y = 4 * x / 3; else y = 2.5 * x - 10.5; %.2f\ printf(“y = f(%f) = %.2f\n”, x, y); /* 输出 */ return 0; }
14
PAN XIAONAN
单语句、复合语句{ }和空语句 单语句、复合语句{ }和空语句 ;
(1)for (fahr = lower; fahr <= upper; fahr ++) { lower; upper;
32. celsius = (5.0 / 9.0) * (fahr - 32.0); printf("% celsius); printf("%d %6.1f\n", fahr, celsius);
C语言第二章 数据类型习题
第一章 C语言概述【题1.1】一个C程序的执行是从。
A)本程序的main函数开始,到main函数结束。
B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C)本程序的main函数开始,到本程序文件的最后一个函数结束D)本程序文件的第一个函数开始,到本程序main函数结束【题1.2】以下叙述正确的是。
A)在C程序中,main函数必须位于程序的最前面B)C程序的每行中只能写一条语句C)C语言本身没有输入输出语句D)在对一个C程序进行编译的过程中,可发现注释中的拼写错误【题1.3】以下叙述不正确的是。
A)一个C源程序可由一个或多个函数组成B)一个C源程序必须包含一个main函数C)C程序的基本组成单位是函数D)在C程序中,注释说明只能位于一条语句的后面【题1.4】C语言规定:在一个源程序中,main函数的位置A)必须在最开始B)必须在系统调用的库函数的后面C)可以任意D)必须在最后【题1.5】一个C语言程序时由。
A)一个主程序和若干个子程序组成B)函数组成C)若干过程组成D)若干子程序组成填空题【题1.6】C源程序的基本单位是【】【题1.7】一个C源程序中至少应包括一个【】【题1.8】在一个C源程序中,注释部分两侧的分界符分别为【】和【】【题1.9】在C语言中,输入操作是由库函数【】完成的,输出操作是由库函数【】完成的。
第二章数据类型、运算符与表达式2.1 选择题【题2.1】在C语言中(以16位PC机为例),5种基本数据类型的存储空间长度的排列顺序为。
A) char<int<long int<=float<doubleB) char=int <long int<=float<doubleC) char<int<long int=float=doubleD)char=int=long int<=float<double【 2.3】假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是。
c语言程序设计-第2章_算法
C程序设计(第三版)
例2.7 将例2.2的算 法用流程图表示。打 印50名 学生中成绩在 80分以上者的学号和 成绩。
C程序设计(第三版)
如果如果包括 这个输入数据 的部分,流程 图为
C程序设计(第三版)
例2.8 将例 2.3判定闰 年的算法用 流程图表示
用流程图表示算法要比 用文字描述算法逻辑清 晰、易于理解。
完整的程序设计应该是:
数据结构+算法+程序设计方法+语言工具
C程序设计(第三版)
2.1 算法的概念
广义地说,为解决一个问题而采取的方 法和步骤,就称为“算法”。 对同一个问题,可有不同的解题方法和步骤 例: 求
n
n 1
100
• 方法1:1+2,+3,+4,一直加到100 加99次 • 方法2:100+(1+99)+(2+98)+…+(49 +51)+50 = 100 + 49×100 +50 加51次
C程序设计(第三版)
2.4 算法的表示
可以用不同的方法表示算法,常用的有: –自然语言 –传统流程图 –结构化流程图 –伪代码 –PAD图
C程序设计(第三版)
2.4.1 用自然语言表示算法 自然语言就是人们日常使用的语言,可 以是汉语或英语或其它语言。用自然语言 表示通俗易懂,但文字冗长,容易出现“ 歧义性”。自然语言表示的含义往往不大 严格,要根据上下文才能判断其正确含义 ,描述包含分支和循环的算法时也不很方 便。因此,除了那些很简单的问题外,一 般不用自然语言描述算法。
S2:如果≥80,则打印和,否则不打印。 S3:i+1 → i S4:如果i≤50,返回S2,继续执行。否则算法结束
c语言程序设计第二章课后参考答案[修改版]
第一篇:c语言程序设计第二章课后参考答案第二章:C程序的基本结构一、单项选择题1、以下不是C语言的特点的是________。
A)语言的表达能力强B)语言定义严格C)数据结构系统化D)控制流程结构化2、TC编译系统提供了对C程序的编辑、编译、连接和运行环境,以下可以不在该环境下进行的环节是________。
A)编辑和编译B)编译和连接C)连接和运行D)编辑和运行3、以下不是二进制代码文件是________。
A)标准库文件B)目标文件C)源程序文件D)可执行文件4、下面个选项组中,均属于C语言关键字的一组是________。
A)auto,enum,includeB)switch,typedef,continue C)signed,union,scanf D)if,struct,type5、下面四组字符串中,都可以用作C语言标识符的是________。
A)print B)I \am C)signed D)if _maf scanf 3mf ty_pr mx_2d mx_ a.f x1# aMb6 AMB A&B 5XY6、以下不属于流程控制语句的是_________。
A)表达式语句B)选择语句C)循环语句D)转移语句7、下面描述中,不正确的是________。
A)C语言的函数体由一系列语句和注释组成。
B)注释内容不能单独写在一行上。
C)C程序的函数说明部分包括对函数名、函数类型、形式参数等的定义和说明。
D)scanf和printf是标准库函数而不是输入和输出语句。
8、下面描述中,正确的是________。
A)主函数的花括号必须有,而子函数中的花括号是可有可无的。
B)一个C程序行只能写一个语句。
C)主函数是程序启动时的唯一入口。
D)函数体包含了函数说明部分。
二、填空题1、一个完整的C程序至少要有一个________函数。
(主函数)2、标准库函数不是C语言本身的组成部分,它是由__________提供的功能函数。
C语言基础知识第二章
• •
说明: 在C语言中,没有专门的字符串变量,字符串常量如 果需要存放在变量中要用字符数组来处理。
2013/6/5
C语言程序设计教程
第2章 C语言的基本数据类型与表达式
16
请 判 断 这 些 常 量 正 确 与 否 :
120 、 -100、 0; 0120、 072; 0xFFFF、 0x1e、0X28AF,0XED4 ; 120L, 200L ; 长整型常量 3.14、 -3.1、 5.12E-6 ; 'a' 、'#'、'\n'、'\101' ; 099、12f、 0xg 、48EA ; 019.5 、1e-08; 实型常量只能用十进制形式表示 2.1E10.2、E-6、6.4E+4.8、E9 ; "changsha" 、"+++\\?ab" ; ' \' 、'\p' 、'''、'ab' ;
2013/6/5
C语言程序设计教程
18
• 注意: • 1、符号常量与变量不同,它的值在其作用 域内不能改变,也不能再被赋值。 • 2、使用符号常量的好处: • (1)含义清楚、见名知意。 • (2)修改方便、一改全改,如现在想将符 号常量PI的值修改成3.15的话,只需要将宏 定义语句改为: #define PI 3.15 即可。
C语言程序设计教程
1
第2章 基本数据类型、运算符和表达式 2.1 C语言的数据类型 2.2 常量和变量 2.3 整型数据 2.4 实型数据 2.5 字符型数据 2.6 变量赋初值 2.7 各类数据之间的混合运算 2.8 C运算符简介
C语言 第2章 类型、运算符与表达式(2.4~2.7)
数据类型、运算符和表达式
主要内容
2.1 预备知识 2.2 常量和变量的概念 2.3 各种数据类型的常量及变量 2.4 变量赋初值 2.5 不同类型数据之间的混合运算 2.6 常用运算符和表达式 2.7 输入函数与输出函数
2
2.4.1 变量和内存的概念
变量: 程序运行过程中其值可以改变的量。 系统为程序中的每一个变量开辟存储单元。 变量名: 字母开头,后跟字母、数字和下划线组成。 C语言中的关键字不能作为变量名。
37
2.7.1
格式输出函数printf
printf函数一般格式: printf(格式控制,输出表列) 格式控制是由双引号括起来的字符串,包含三种信息: 1、格式说明:由“%”和格式字符组成,如%d,%f等。 它的作用是将输出的数据按照指定的格式输出。 2、普通字符:需要原样输出的字符。 3、转义字符:用于控制输出。 输出表列是一些要输出的数据。
27
2.5 数据的混合运算
1、自动转换
• 运算转换
• 赋值转换 2、强制类型转换
28
1、自动转换—运算转换
在进行运算时,不同类型的数据要先自动转换成 同一类型,然后进行运算。转换的规则按图所示。
double← float
long unsigned 转换由编译系统自动完成。 转换按数据长度增加的方向进行, 即按“向高看齐”的原则提升“ 较低”类型,以保证不降低精度。
33
2、强制类型转换
注意:对一个变量进行强制转换后,得到一个新的 类型的数据,但原来变量的类型不变。 例:x原为实型变量且值为2.6,在执行 i = (int)x 后得到一个整数 2,并把它赋给整型变量 i, 但 x 仍为实型,值为2.6。
C语言第2章上机及作业题
第二章上机及作业题第二章上机题用三种存储结构(顺序表,链表,静态链表)求解josuphu问题!1:顺序表#include<stdio.h>#define max 100typedef struct{int data[max];int length;}stack,*pstack;pstack Creat() /*顺序表初始化*/{pstack p;p=(pstack)malloc(sizeof(stack));if(p)p->length=0;return p;}void Creatstack(pstack p) /*创建一个顺序表*/{int i,l,x;printf("please stack's length:\n");scanf("%d",&l);p->length=l;printf("please enter a stack:\n");for(i=0;i<l;i++){scanf("%d",&x);p->data[i]=x;}}Deletes(pstack p,int x) /*删除指定位置的元素*/{int i;for(i=x;i<=p->length;i++){p->data[i]=p->data[i+1];}p->length--;}int josephus(pstack p) /*约瑟夫循环*/{int s1,i,s,m,w;printf("please enter start adress:\n");scanf("%d",&s);printf("please enter how long to out eachother:\n");scanf("%d",&m);if(!p->length){printf("empty!\n");return 0;}s1=s-1;printf("please answer:\n");for(i=p->length;i>0;i--){s1=(s1+m-1)%i;w=p->data[s1];printf("%4d",w);Deletes(p,s1);}return 1;}int main() /*主函数*/ {pstack Q;Q=Creat();Creatstack(Q);josephus(Q);getch();}2:链表解决#include<stdio.h>typedef struct node /*定义一个链表结构体*/ {int data;struct node *next;}list,*List;void Putlist(List L) /*输入一个链表*/{int x,i,length;List s;L=NULL;printf("please enter the length:\n");scanf("%d",&length);printf("please enter the list:\n");for(i=0;i<length;i++){s=(List)malloc(sizeof(list));scanf("%d",&x);s->data=x;s->next=L;L=s;}s->next=L;}void Dislist(List L) /*输出链表*/{List p=L->next;printf("%d",L->data);while(p!=L){printf("%3d",p->data);p=p->next;}printf("\n");}int josephs(List L) /*约瑟夫循环的计算*/ {int s,m,count;List p,pre;printf("start in:\n");scanf("%d",&s);printf("how often:\n");scanf("%d",&m);if(!L){printf("the list is empty!\n");return 0;}p=L;for(count=1;count<s;count++){p=p->next;}printf("put the answer:\n");while(p!=p->next){for(count=1;count<m;count++) {pre=p;p=p->next;}printf("%2d",p->data);pre->next=p->next;free(p);p=pre->next;}printf(" %d",p->data);free(p);return 1;}void main(){int x,i,length;List L,s,r;s=L=(List)malloc(sizeof(list)); printf("please enter the length:\n"); scanf("%d",&length);printf("please enter the list:\n"); scanf("%d",&x);L->data=x;for(i=0;i<length-1;i++){r=(List)malloc(sizeof(list)); scanf("%d",&x);r->data=x;s->next=r;s=s->next;}s->next=L;josephs(L);getch();}3:静态链表#include<stdio.h>#define MAXSIZE 100struct node{int number;int next;}string[MAXSIZE];int josephus(void) /*约瑟夫循环*/ {int total;int out;int start;int i,j=1;int flag=0;int current,front;printf("The total number is:");scanf("%d",&total);printf("The out number is:");scanf("%d",&out);printf("The starting number is:");scanf("%d",&start);if(out==1) return total;for(i=0;i<total;i++){string[i].number=i+1;string[i].next=i+1;}string[i-1].next=0;front=total-1;current=0;for(i=1;i<start;i++){front=string[front].next;current =string[current].next;}while(flag<total){if(j%out==0){string[front].next=string[current].next;current=string[front].next;j=1;flag++;}else{j++;front=string[front].next;current =string[current].next;}}return(string[current].number);}void main(){int t;t=josephus();printf("The last one is %d",t);getch();}第二章作业:1.已知递增有序的两个单链表A,B分别存储了一个集合。
C语言第2章 数据类型及运算符
C/C++程序设计第2 章数据类型及表达式计算机学院C/C++程序设计课程组C/C++程序设计第2章主要内容本章主要介绍:基本数据类型和存储类型的说明方法,以及基本运算符的运算规则和表达式的构成方法,为后续章节的学习奠定一个基础。
C/C++程序设计2.1 C 语言的数据类型使用高级语言编写程序,主要工作有两项:一是描述数据,二是描述数据加工的方法。
数据类型图 2.1C 语言的数据类型基本类型整型实型字符型带符号长整型(简称长整型)带符号整型无符号整型无符号整型无符号短整型无符号长整型单精度型双精度型空类型构造类型指针类型枚举类型数组类型结构体类型共用体类型C/C++程序设计2.2 常量常量是程序运行过程中其值不发生变化的数据。
2.2.1 整型常量表2.1 整型数据的表示方式2.2.2 实型常量3.14、.9999、-3.14159、834.、–0.666 、6.89E-52.2.3 字符常量’x’,’a’,’A’,’b’,’$’,’#’ ,printf("\tab\rcd\n\’ef\\g");2.2.4 符号常量#define 符号常量字符串#define PI 3.14159C/C++程序设计【例2.1】求一个圆柱体体积,用符号常量代替π。
#include <stdio.h>#define PI 3.14159 /*定义PI为符号常量*/void main(){float r,h,v;scanf("%f,%f",&r,&h);v=PI*r*r*h; /* PI相当于3.14159,参与运算*/printf("Volume=%f",v);}运行时输入:3,2↙运行结果为: Volume=56.548618C/C++程序设计2.2.5 字符串常量"\tab\rcd\n\’ef\\g“"I am a student" 、"x"、""注意:’\0’和’0’不同,’\0’是编码为0的字符,而’0’则是数字0,其编码为48。
第二章 算法 c语言基础
——算法基础
IIP Lab., Dept.of Comput. Sci. & Technol.,YBU
Lecture 2 Basic of Algorithm
Concept of Algorithm Representation of Algorithm Structured Programming Method
IIP Lab., Dept.of Comput. Sci. & Technol.,YBU
Concept of Algorithm
算法(Algorithm)
Alan Mathison Turing, 波斯数学家比 “算法”一词最早来自公元 9世纪 b. June 23, 1912, d. 英国首相布朗(2009年09月15日) 代表 June 7, 1954, was a British mathematician 阿勒·霍瓦里松的一本影响深远的著作《代数对话 英国政府正式向计算机科学之父图灵 who conceived of a machine that could 录》,原意是阿拉伯数字的运算法则 compute by 道歉—— reading and writing an infinite tape according to some simple instructions “算法”的中文名称出自周髀算经(公元前1世纪, 阿兰应该由于他对人类的贡献而得到 and state transitions. From this he was able to 是我国最古老的天文学著作,主要阐明当时的盖天 show the existence of uncomputable 承认,…,谨代表英国政府以及由于 说和四分历法) functions. For example, no program can 阿兰·图灵的工作而自由生活的人们,
第二章_用C语言编写程序
习题参考
分支语句,自己实现习题6 习题11 ex2-11.cpp
程序阅读理解
eg2-1.cpp eg2-2.cpp
2.5计算12!/(5!+7!)
1,问题分析:三个阶乘结果的运算 2,解决方法一:
① 分别计算出12!,5!,7! ② 再计算最后结果 ③ ch2-10.cpp
3,代码冗长,不够清晰简洁
例:求 ∑ i
i =1
100
分析: 1. sum=1+2+3+……+100 累加的过程 2. 共性:sum=sum + i,重复100次 3. 确定使用for循环,循环控制变量如何设定
① ② ③ ④ 初值表达式:i=1 条件表达式:i<=100 步长表达式:i++(或i=i+1) 循环体语句:sum=sum+i
iNum 10 变量名 变量值
存储单元
2.2.3算术运算和赋值运算
1,算术运算
运算符 名称 优先级 + 加 低 减 * 乘 / 除 高 % 模(求余)
① 算术表达式:5*(fahr-32)/9 ② 赋值运算
1,变量=表达式 如 fahr=100 celsius=5*(fahr-32)/9 2,赋值过程(赋值运算符的左边必须是一个变量) ① 计算赋值运算符右边的表达式的值 例子:i=i+1 ② 将求得的表达式值赋值给左侧的变量
函数参数
y=expon(t,a); printf("%f\n",y);
使用函数编写程序—温度转换表
1,不使用自定义函数的代码
2,使用函数的代码:例2-18 ch2-12.cpp
使用函数求解
例2-17:输入x,计算并输出下列分段函 数f(x)的值(保留2位小数)
C语言教程第2章数据类型、运算符与表达式
常量只能在定义时赋值,然后不能再改变 其值 常数、 const常量、宏常量和枚举常量, 都可以用来表示一个永远不会改变的数
前者不建议直接使用,而用后三者代替
C语言大学实用教程
2.5 变 量
变量是在程序执行过程中可以改变、可以赋 值的量。
在程序中每一个变量都有一个名子即变量名, 程序对该变量访问(存入、读取)都是通过变 量名进行的。
运行结果: 1234567936.000000
1234567890.000000
}
C语言大学实用教程
2.6 常用运算符及表达式
算术运算符
+,-,*,/,%
加、减、乘、除、求余运算 四则混合运算中,先算乘除,后算加减, 按从左向右的顺序计算,左结合
#include <math.h>
常用的标准数学函数
C语言大学实用教程
#include <stdio.h> /*函数功能:计算两个整数相加之和 入口参数:整型数据a和b 返回值: 整型数a和b之和 */ int Add(int a, int b) { return (a + b); }
2.1 一个简单的C程序例子
/*主函数*/ ) { int x, y, sum = 0;
022、-037 010和10大小不一样 因为八进制并不常用,所以此种表示法比较少见
以“0x”或者“0X”开始的整型常数是十六进 制
A~F和a~f用来表示十进制的10~15
十六进制的形式比较常用,尤其在进行位一级的 控制的时候 0x12、-0x1F, -0x1f
C语言大学实用教程
2.4 常量
字符常量
二级C语言习题汇总及答案
计算机二级C语言习题集汇总及答案目录第一章C语言基础知识第二章C语言程序设计的初步知识第三章顺序结构程序设计第四章选择结构程序设计第五章循环结构程序设计第六章数组第七章函数第八章指针第九章结构体与共用体第十章文件附录1 预处理命令附录2 位运算模拟试题一模拟试题二模拟试题三模拟试题四模拟试题五第一章答案第二章答案第三章答案第四章答案第五章答案第六章答案第七章答案第八章答案第九章答案第十章答案附录1 答案附录2 答案模拟试题一答案模拟试题二答案模拟试题三答案模拟试题四答案模拟试题五答案第一章C语言基础知识一、选择题1.C语言规定,必须用C 作为主函数名。
(0级)A)Function B)include C)main D)stdio 2.一个C程序可以包含任意多个不同名的函数,但有且仅有一个,一个C程序总是从 B 开始执行。
(0级)A)过程B) 主函数C)函数D)include3. A 是C程序的基本构成单位。
(0级)A)函数B) 函数和过程C) 超文本过程D) 子程序4.下列说法正确的是C 。
(0级)A) 一个函数的函数体必须要有变量定义和执行部分,二者缺一不可B) 一个函数的函数体必须要有执行部分,可以没有变量定义C) 一个函数的函数体可以没有变量定义和执行部分,函数可以是空函数D) 以上都不对5.下列说法正确的是D 。
(0级)A) main函数必须放在C程序的开头B) main函数必须放在C程序的最后C) main函数可以放在C程序的中间部分,但在执行C程序时是从程序开头执行的D) main函数可以放在C程序的中间部分,但在执行C程序时是从main函数开始的6.下列说法正确的是 C 。
(0级)A) 在执行C程序时不是从mian函数开始的B) C程序书写格式严格限制,一行内必须写一个语句C) C程序书写格式自由,一个语句可以分写在多行上D) C程序书写格式严格限制,一行内必须写一个语句,并要有行号7.在C语言中,每个语句和数据定义是用C 结束。
C语言学习教程目录
第一章-C语言概论第二章-数据类型、运算符、表达式(一)第二章-数据类型、运算符、表达式(二)第二章-数据类型、运算符、表达式(三)第二章-数据类型、运算符、表达式(四)第二章-数据类型、运算符、表达式(五)第二章-数据类型、运算符、表达式(六)第二章-数据类型、运算符、表达式(七)第二章-数据类型、运算符、表达式(八)第三章-C语言程序设计初步(1)第三章-C语言程序设计初步(2)第三章-C语言程序设计初步(3)第三章-C语言程序设计初步(4)第三章-C语言程序设计初步(5)第三章-C语言程序设计初步(6)第三章-C语言程序设计初步(7)第三章-C语言程序设计初步(8)第三章-C语言程序设计初步(9)第四章-数组(1)第四章-数组(2)第四章-数组(3)第四章-数组(4)第四章-数组(5)第四章-数组(6)第四章-数组(7)第四章-数组(8)第五章-函数(1)第五章-函数(2)第五章-函数(3)第五章-函数(4)第五章-函数(5)第五章-函数(6)第五章-函数(7)第五章-函数(8)第五章-函数(9)第五章-函数(10)第六章-指针(1)第六章-指针(2)第六章-指针(3)第六章-指针(4)第六章-指针(5)第六章-指针(6)第六章-指针(7)第六章-指针(8)第七章-结构与联合(1) 第七章-结构与联合(2) 第七章-结构与联合(3) 第七章-结构与联合(4) 第七章-结构与联合(5) 第七章-结构与联合(6) 第七章-结构与联合(7) 第七章-结构与联合(8) 第八章-枚举、位运算(1) 第八章-枚举、位运算(2) 第八章-枚举、位运算(3) 第八章-枚举、位运算(4) 第八章-枚举、位运算(5) 第九章-预处理(1)第九章-预处理(2)第九章-预处理(3)第九章-预处理(4)第十章-文件(1)第十章-文件(2)第十章-文件(3)第十章-文件(4)第十章-文件(5)第十章-文件(6)第十章-文件(7)第十章-文件(8)。
C语言第2章基本数据类型与表达式
整型数据有:十进制整数、八进制整数和十六进制三种形式。 整型数据有:十进制整数、八进制整数和十六进制三种形式。
(1)十进制整数的表示与数学上的表示相同,如: 十进制整数的表示与数学上的表示相同, 十进制整数的表示与数学上的表示相同 256,-321,0 , , (2)八进制整数的表示以数字 开头,如: 八进制整数的表示以数字0开头 八进制整数的表示以数字 开头, 0234表示八进制整数 表示八进制整数(234)8,所对应的十进制数 表示八进制整数 , 2×82+3×81+4×80=156。 为 × × × 。 (3)十六进制整数的表示以 开头,如: 十六进制整数的表示以0x开头 十六进制整数的表示以 开头, 0x234表示十六进制整数 表示十六进制整数(234)16 表示十六进制整数 (注意:十六进制数前导字符 ,x前面是数字 注意: 前面是数字0) 注意 十六进制数前导字符0x, 前面是数字 在一个整型数据后面加一个字母l或 , 在一个整型数据后面加一个字母 或L,则认 为是long int型量 长整型 。如342L、0L、78L等。 型量(长整型 为是 型量 长整型)。 、 、 等
2.2.3 实数类型
• 实数类型的数据即实型数据,又称之为浮点型数据。 实数类型的数据即实型数据,又称之为浮点型数据。 Turbo C的实型数据又分为单精度型 的实型数据又分为单精度型(float)和双精 的实型数据又分为单精度型 和双精 度型(double)两种,它们所占内存字节数及取值范 两种, 度型 两种 围见表2.1。 围见表 。 • 在C语言程序设计中,实型数据有两种表达形式: 语言程序设计中, 语言程序设计中 实型数据有两种表达形式: (1)十进制数形式。如: 十进制数形式。 十进制数形式 5.734、0.273、8、224等。 、 、 、 等 (2)指数形式。如: 指数形式。 指数形式 546E+3或546E3都代表 都代表546×103。 或 都代表 × 。 • 在一般系统中,一个 在一般系统中,一个float型数据在内存中占 个字 型数据在内存中占4个字 型数据在内存中占 一个double型数据占 个字节。单精度实数提 型数据占8个字节 节,一个 型数据占 个字节。 供了7位有效数字 双精度实数提供15位有效数字 位有效数字, 位有效数字。 供了 位有效数字,双精度实数提供 位有效数字。
第2章C语言基础知识
第二章C语言基础知识2.1 常量和变量【学习目标】(1)掌握常用标识符的命名规则(2)掌握常量和变量的定义与引用方法实例5 常量和变量——输出常量与变量的值【实例任务】定义不同类型的几个变量,然后对应输出相应的常量值和变量值。
程序的运行结果如图2-1所示。
图2-1 程序运行结果【相关知识】1.标识符标识符是用来标识变量名、符号常量名、函数名、数组名、文件名、类名、对象名等,其基本构成元素源自字符集。
C语言的字符集包括英文字母、数字字符和一些特殊字符。
用这些基本元素单位命名标识符时,一定要遵循以下四个原则:(1)必须由字母(a~z,A~Z)或下画线(_)开头;(2)由字母、数字或下画线组成的长度不超过32个字符;(3)标识符中的大小写字母有区别;(4)不能与关键字同名。
下面是不合法的标识符和变量名:M.d.,John,y 123,#33,3d642.常量常量是数据在内存中一种表示形式,在程序运行过程中值永远保持不变,常用的类型有5种,包括整型常量、实型常量、字符型常量、字符串常量、符号常量。
整型常量就是整型,常用的表示形式有十进制,如10、30等。
八进制常量表示形式要以0开头,如013、012等。
十六进制常量表示形式要以0x或0X开头,如0x13、0X12等。
实型常量就是指的是一些带小数点的数,包括指数。
如3.14、-1.2、1.2e6、10.5E8等。
其中,1.2e6表示数学上1.2×106,10.5E8表示数学上10.5×108。
字符型常量是单引号引起来的单个字符,这些字符为ASCII字符,对应各有其ASCII 码值。
字符常量包括一些转义字符,字符形式和输出结果对照如表2-1所示。
表2-1 转义字符字符串常量是用双引号引起来的0个或多个字符。
字符串常量形式给出的是字符串在存储空间中的起始地址。
如“Hello World!”就是一个字符串常量。
符号常量,是指以标识符来代替一个值,这个标识符的值在程序运行过程中不能再改变。
C语言知识点:第2章 数据类型、运算符与表达式
主讲教师:杨剑
第 2 章:数据类型、运算符与表达式
1. 本章目标:
理解变量和常量的含义 熟悉基本数据类型 - int、char、float 和 double 使用算术运算符 理解类型转换 使用关系和逻辑运算符
2. 内存如何存放数据
电脑使用内存来记忆计算时所使用的数据 内存如何存储数据? 内存像旅馆.数据各式各样,要先根据数据的需求(即类型)为它申请一块合适的空
23. 复合赋值表达式
24. 赋值表达式和逗号运算符
赋值表达式 a=b=c=5;(从右向左计算) a +=a-=a*a
逗号运算符和逗号表达式 3+5,6+8 a=3*5,a*4
25. 习题
~7~
C 语言程序设计知识点
主讲教师:杨剑
有以下程序
main()
{
char a1=’M’,a2=’m’;
12. 单精度浮点型
float 在 C 语言中用于存储单精度浮点数 float 32 位 10-38 至 10+38 ,7 位有效数字 声明:
float price; 初始化:
float score = 11.3; score = 65.90;
13. 双精度浮点型
double 32 位 16 位有效数字 声明:
const float PI=3.14; S=PI*r*r; //等价于 3.14*r*r const 关键字的作用就是“冻结”一个量,它的值不能被修改,是一个只读(read only) 量。 优点:比数值常量可读性好、修改容易
18. 符号常量 2(宏常量)
还可用宏定义符号常量 语法:#define 符号名 常量值 例: 计算圆的周长时
C语言程序设计第二章
2.2 理论知识
运行结果:
2.2 理论知识
常量和变量 直接常量
字符串常量 字符串常量是用一对双引号括起来的零个或多个字符
如"","Hello,world!","123"等
双引号仅起定界作用,本身并不是字符串中的内容
2.2 理论知识
常量和变量 直接常量
字符串常量 字符串的长度 指一个字符串中所包含的字符个数 C语言规定在存储字符串常量时,由系统在字符串的末 尾自动加一个'\0'作为结8.539815
2.2 理论知识
符号常量的两个好处
1. 修改程序方便 2. 见名知意,便于理解程序
符号常量的使用
1. 其值在它的作用域内不能改变,也不能再被赋值 2. 符号常量名用大写,变量名用小写,以示区别
2.2 理论知识
举例:
#define PI 3.1415
void main() { int PI; PI=3.1415; PI=3.14159; }
指针类型 构造类型 空类型
数组类型
结构体类型
共用体类型
2.2 理论知识
C语言的基本数据类型 整数类型
数据类型 有符号整型
短整型 长整型
int a,b,sum; a=32768;
数据类型符 int
short long [int] [int]
占用字节数 2
2 4
取
值
范
围
-215~(215-1) 即-32768~32767
2.2 理论知识
常量和变量 变量的赋值
在定义变量时赋值 float data1=1.5,data2=2.6;
“先定义后赋值
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
字符串类型
• 学习一句话:Console.ReadLine();用于接 收用户的输入。要定义一个字符串变量来 接收存储用户输入的值。
• 1.练习:问用户喜欢吃什么水果,假如用户输入“苹果”,则显示“ 哈哈,这么巧啊,我也喜欢吃苹果”。
• 2.练习:请用户输入姓名,然后在屏幕上显示“你好,***”,***为用 户刚刚输入的姓名
变量
C#中的变量必须先声明后使用。声明变量包括变量的名称、数据类 型以及必要时指定变量的初始值。
变量声明格式: 数据类型 变量名称
声明并初始化变量
2.2.2
第 1步:声明变量 作用:通过声明变量,可以在内存中为该变量申
请存储空间 语法:
类型 变量名;
int age; string name;
变量的命名
那么这个“+”号就是连接的意义。
练习:
• 1.定义3个变量,分别存储一个人的姓名 (张三),年龄(28),和工资 (7600.33)。然后在屏幕上显示,我叫**, 今年*岁了,我的工资是**元。
• 2.定义一个变量存储一个人的年龄(18), 然后发现这个人的年龄不是18岁,要把这 个人的年龄修改成20岁(本题体会变量可 以被重复多次赋值),最后把这个人的年 龄输出到屏幕上。
C#程序结构
2.1.1
• 程序结构
– 构成应用程序的必要元素有哪些? – 怎样组织这些元素,使得编译器能够识别应用程序代
码?
第一个 C#程序 :HelloWorld
HelloWorld.cs
1. using System;
2. class HelloWorld
3. {
4.
static void Main( )
• 命名规则: • 1.必须以“字母” __或@符号开头; • 2.后面可以跟任意“字母”、数字、下划线。 • 注意: • 1)你起的变量名不要与C#系统中的 关键字重复。 • 2)在C#中,大小写是敏感的。 • 3)同一个变量名不允许重复定义(先这么认为,不严谨) • 定义变量时,变量名要有意义 • C#变量名编码规范——Camel命名法: • 首个单词的首字母小写,其余单词的首字母大写。 • Pascal命名规范:每一个单词第一个字母都大写 • 如果使用到英文单词的缩写,全部用大写!
点取符.来完成。 字符串用双引号“ ”表示 字符串“Hello,World”是WriteLine方法的参数,表示屏幕输出
的内容
控制台指令
输出: ① Console.WriteLine(“Hello World!”); //换行 ② Console.Write(“Hello World!”); //无换行 输入: ① Console.ReadLine(); //读取一行字符 ② Console.Read(); //读取一个字符 暂停: Console.ReadKey();
在数字后面加D(d)表示是double类型
在数字后面加M(m)表示是decimal类型
例如:
3.14 , 3.14e2, 0.168E-2 // 这些都是float类型常量
3.14D, 0.168d
// 这些都是double类型常量
3.14M, 0.168m
// 这些都是decimal类型常量
常量
在常量后面加U或u(不区分大小写)表示无符号整数。 例如:
128U // 这是一个uint 类型 128UL // 这是一个ulong类型
常量
2. 浮点常量
一般带小数点的数或用科学计数法表示的数都被认为是 浮点数,它的数据类型默认为double类型,但也可以加后缀 符表明三种不同的浮点格式数。
在数字后面加F(f)表示是float类型
System 命名空间
System命名空间提供了构建应用程序所需的系统资源
第一个 C# 程序 :HelloWorld
第 2,3,8 行:
2: class HelloWorld 3: {
……….. 8: }
类
在C#或其他面向对象语言中,需要编写类 使用关键字class定义一个类,类的内容放在一对 { }中 示例中定义了一个名为HelloWorld的类
代码注释
在文档中插入注释是为了提高代码的可读性。 注释也能帮助其他人来阅读和理解程序。 ① 单行注释,以“//”开头的注释,注释在该行
的末端结束。 ② 多行注释,以“/*……*/”的多行注释。这是
用于书写多行注释的语法。
C#中内置的数据类型
2.2.1
C#中的数据
• int: 3 5 100 -10 • double: 3.14 10.5 -3.14 -5.0 • char:’A’ ‘b’ ‘a’ • string:”zhangsan” “李四” “计算机”
赋值运算符和赋值表达式
• 赋值运算符:= • a=a+1;这里的=号是赋值运算符,不是数学
意义上的相等。 • 变量可以重复赋值,一旦给一个变量赋了
新值,那么变量中的老值就不复存在了。 • 下边代码的输出结果是: • int age=10; • age=20; • Console.WriteLine(age);
声明并初始化变量
2.2.2
第 2步:初始化变量 作用:给变量分配初值 语法:
变量名 = 初值;
string name; name = “张三”; // 声明和初始化一步完成 string name = “张三”;
声明并初始化变量
2.2.2
注意事项: bool 只能取2个值:true 或 false char 表示单个Unicode字符,用‘’表示
(1) 常规字符串 双引号括起的一串字符,可以包括转义字符。
例如:"Hello, world"
常量
5. 布尔常量 它只有两个值:true和false。
6. 符号常量 在声明语句中,可以声明一个标识符常量,但必须在定
义标识符时就进行初始化并且定义之后就不能再改变该常量 的值。
具体的格式为:const 类型 标识符=初值 例如: const double PI=3.14159
字符串中的转义
• 能在字符串中输出双引号吗?
•
在屏幕上显示:C#用的字符串用“”号包含起来
• \+一个字符,组成转义字符,一般用于表示
特殊符号
• @字在字符串前面表示不转义
• 常用的转义符:\n \b \t \\ \”
• 转义字符:什么时候用?
• 当我们需要在字符串中输入一些特殊字符 时,比如:半角引号,换行,退格,就需 要使用转义字符。
变量的声明方法
如果一次要声明多个相同类型的变量可用逗号分隔。 string zsName,lsName;
• 变量一定要先声明,再赋值,才能使用。 • 练习:定义一个变量pi,并把3.14存进去,然后显示在屏幕上? • 想一想下面代码的输出结果是? • int i=10; Console.WriteLine(“i”);
3. 字符常量 字符常量简单地说就是用单引号括起的单个字符,如:
'A',它占16位,以无符号整型数的形式存储这个字符所对应 的Unicode代码。
单引号括起的一个字符,如:'A' 。 显式转换整数字符代码,如:(char) 65。 4. 字符串常量 字符串常量是用双引号括起的零个或多个字符序列。C# 支持两种形式的字符串常量,一种常规字符串,另一种逐字 字符串。
输入输出示例-2
//控制台输入输出函数的例子 using System; class ConsoleIO2 {
static void Main(string[] args) {
Console.Write("请输入:"); string s = Console.ReadLine(); Console.WriteLine("你输入的内容为: " + s); } }
第 4,5,7 行:
4: static void Main( ) 5: {
……….. 7: }
Main方法
static表示Main方法是一个全局方法 void表示Main方法没有任何返回值,即返回值是空 参数放在小括号中定义。此处括号内没有内容,表明Main方法
没有任何参数
第一个 C# 程序 :HelloWorld
bool result = 0; // 错误 bool result = false; char c = A; // 错误 char c = ‘A’;
? 下面的变量名称哪些正确
• Principal 123rate discount %cost _price • Mark$_3 city City int @string
第 6 行:
6: Console.WriteLine(“Hello, World!”);
语句
在C#中要执行的指令 语句之间用;分隔,编译器通过分号来区分多个语句 使用大括号{ }标识某个代码块的开始和结束,从而可以对语
句进行组合。大括号必须成对匹配。
第一个 C# 程序 :HelloWorld
第 6 行:
6: Console.WriteLine(“Hello, World!”);
语句
HelloWorld程序的主要目的就是在屏幕上显示一条问候 WriteLine方法用来将问候语写到标准输出设备上。
Console代表标准输出设备--- 屏幕,它属于System命名空间 WriteLine方法是Console类的方法。访问类或对象的方法使用
变量练习
• 3.定义四个变量,分别存储一个人的姓名、 性别、年龄、电话。然后打印在屏幕上。
• 4.在屏幕上输出:我的手机是philips,型号 是:998,价格是:1500元,重量是: 0.3kg.(请定义变量存储上面的值,并显示在屏幕上。)