欢迎来到工作总结网!

c

其他范文 时间:2022-07-28

【www.zgzsclpt.com--其他范文】

C语言符号、指令表

C 语言符号控制命令表 C 语言符号控制命令表编译指令编译指令 #include #define #undef #asm 和 #endasm #ifdef、 #ifndef、 #else、 #endif 包含另一个文件 定 义 一 个 宏 ( macro) 或 是 常 量 取消一个宏常量的定义 在程序中加入汇编语言的程序 用于条件式的编译 说明注解:/ / — 单 行 注 解 ; / * 多 行 注 解 * /基本数据类型 ( i n t , f l o a t , d o u b l e , c h a r , v o i d )数据类型 bit char unsigned char signed char int short int unsigned int signed int long int unsigned long int signed long int float double void 位 字符 无符号字符 有符号字符 整型 短整型 无符号整型 有符号整型 长整型 无符号长整型 有符号长整形 浮点数(实数) 双精度浮点 空 类型说明 1 8 8 8 16 16 16 16 32 32 32 32 32 0 长度(位) 0, 1 — 128~127 0~255 — 128~127 — 32768~32767 — 32768~32767 0~65535 — 32768~32767 —2147483648~2147483647 0~4294967295 —2147483648~2147483647 0.175e-38~0.402e38 0.175e-38~0.402e38 没任何数据 数据长度用户自定义数据类型格式typedef struct{ 数据类型 变量序列 1; 数据类型 变量序列 1; .. . }自定义数据类型的名称;保留字_ a t _ , al i e n ,b d a t a,b r e a k , bi t , ca s e ,c ha r, c od e , co mp a c t ,c o n s t , co n t i nu e , da t a , d ef a u lt , d o ,d o u b le ,f ar, e l se , e nu m, e x t e r n ,f l o a t,f or, go t o , if ,f u n cu s e d ,id a t a , in t , i n l i n e, i n t er r u p t, la rg e , lo n g , p da t a ,_ p r i o r it y_ , r e e n t ra n t , r et u r n ,s b i t ,sf r, sf r 1 6 , short,sigend,sizeof,small,static,struct,switchc_task_,typedef,using,union, unsigned,void,volatile,while,xdata C 语言符号控制命令表 C 语言符号控制命令表常量表示法常数 十进制 二进制 八进制 十六进制 无符号整数常量 长整数常量 无符号长整数常量 浮点数的常量 字符常量 字符串常量 一般十进制格式 开头加上 0b 开头加上 O 开头加上 0x 结尾加上 U 结尾加上 L 结尾加上 UL 结尾加上 F 以单引号括起来 以双引号括起来 规则 1234567890 0b00001110 O0123 0xFF45 30000U 299L 327800UL 4.234F ‘a’ “hello” 范例-----------------------------------------------------运算符----------------------------------------------------算术运算运算符 说明 c=a+b; d=a— b; e=a*b; f=a/b; g=a%b; c + + ; 相当于 c = c + 1 ; d——;相当于 d = d — 1 ; a=8; e + = 5 ;相当于 e = e + 5 ; b * = 5 ;相当于 b = b * 5 ; a / = 5 ;相当于 a = a / 5 ; a % = 5 ;相当于 a = a % 5 ; 范例 d 等于 6 e 等于 16 f 等于 4 g 等于 0 c 等于 11 d 等于 5 设置 a 等于 8 e 等于 21 b 等于 0 a 等于 1 a 等于 3 执行结果 c 等于 10 加 + 减 — 乘 * 除 / 取余数 % 加1 ++ 减1 —— 等于 = 先相加在等于 += 先相减在等于 —= 先相乘在等于 *= 先相除在等于 /= 先取余数在等于 %= ※假设 a 等于 8,b 等于 2f — = 5 ;相当于 f = f — 5 ; f 等于—1比较运算运算符 说明 范例 执行结果 等于 == a==5 F 不等于 != a!=5 T 小于 < a<5 F 大于 > a>5 T 小于等于 <= a<=5 F 大于等于 >= a>=5 T ※比较运算结果是个布尔值既 T R U E ( 真 值 ) 或 FA L S E ( 假 值 ) 。假设 a 等于 8 C 语言符号控制命令表 C 语言符号控制命令表逻辑运算运算符 说明 范例 执行结果 AND (a>5)&&(a<10) && T OR (a<5)||(a>10) || F NOT !(a>10) ! T ※逻辑运算结果是个布尔值既 T R U E ( 真 值 ) 或 FA L S E ( 假 值 ) 。假设 a 等于 8位逻辑运算运算符 说明 AND OR NOT XOR 左移 右移 范例 执行结果 a 等于 1 a 等于 0 x 8 5 a 等于 0 x F A a 等于 0 x F A ( 相同为 0, 不同为 1) a 等于 0 x 0 A a 等于 0 x 0 A& | ~ ^ << >> ※假设 a 等于 5a&0x01 a|0x80 ~a a^0xFF a<<1 a>>1----------------------------------------------------控制命令--------------------------------------------------if 语 句 if( 条 件 ) else 语 句 1; 语 句 2;//如 果 d 等 于 4 就 设 置 d 等 于 0 //否 则 就 将 d 加 1 //如 果 ticks 等 于 0 //ticks 设 置 成 1000 //counter[0]加 1例 : if(d==4) d=0; else d++; if(ticks==0) { ticks=1000; counter[0]++; }嵌 套 if 语 句例 : if(counter[0]==10) { counter[1]++; counter[0]=0; if(counter[1]==10) { counter[2]++; counter[1]=0; } }switch 语 句 switch (变 量 ) { case 常 量 1: 语 句 1; break; case 常 量 2: 语 句 2; break; case 常 量 3: 语 句 3; break; ... ... default ; 语 句 n; C 语言符号控制命令表 C 语言符号控制命令表} for 循 环 for (初 值 ,条 件 ,变 化 值 ) 语 句 ;例 : for(i=0;i<10;i++) x=x+i; for(i=1;i<10,i++) for(j=1;j<10,j++) printf(“%d %d”,i,j); 无穷循环: for( ; ; );while 循 环 while (条 件 ) 语 句 ;例 : w h i l e ( c h ! = ! ’ A’ ) c h = g e t c h e ( ) ; 无穷循环: while(1);do/while 循 环 do { 语句; .. . } while(条 件 );例 : do { ch=getche(); } while (ch!=”A”);goto 语 句loop1: x++; if(x<100) goto loop1;----------------------------------------------------指针和函数-----------------------------------------------指针的定义 数据类型例: c h a r int*指针变量的名字;*p; *x;指针与数组例: c h a r char p=filename; filename[80]; *p; //指针 p 存放 f i l e n a m e 的开始地址int x[5]={1,2,3,4,5}; int *p,sum,i; p=x; //指针 p 存放数组 x 的开始地址 for(i=0;i<5;i++) sum=sum+p[i]; //p [ i ] 相当于 x [ i ] C 语言符号控制命令表 C 语言符号控制命令表指针的运算1. 针 变 量 前 面 加 上 * 号 就 是 取 得 指 针 所 指 向 位 置 的 内 容 。

例:i n t x[5]={1,2,3,4,5}; int *p; p=x; //指针 p 存放数组 x 的开始地址 *p=10; //相当于设置 x [ 0 ] 等于 10 2. 变 量 前 面 加 上 & 符 号 , 可 以 取 得 一 个 变 量 的 位 置 。

例:i n t x,y; int *p; p=&x; //指针 p 存放 x 的地址,相当于 p 是指向 x 的指针 *p=1; //相当于设置 x 等于 1 3.& 符 号 也 可 以 加 在 数 组 的 前 面 例:i n t x[5]; int *p; p=&x[2]; //指针 p 存放 x [ 2 ] 的地址,相当于 p 是指向 x [ 2 ] 的指针 *p=50; //相当于设置 x [ 2 ] 等于 50函数 函数类型 参数说明 { }函数名称(参数序列) ;函数的主体例:v o i d d e l a y ( v o i d ) { //不返回任何数据的函数 unsigned char i,j; //没有任何参数的函数 for(i=0,i<255,i++) for(j=0,j<255,j++); } main() { ... delay(); //调用函数 } 例:u n s i g n e d c h a r s u m ( u n s i g n e d c h a t a , u n s i g n e d c h a t b ) { unsigned chat x; check_GLCD_busyflag(); //函数中可以调用另一个函数 x=a+b; return x; //r e t u r n 会返回 x 的数据 }中断服务函数v o i d 中断服务程序的名称 ( v o i d ) i n t e r r u p t { 中断服务子程序主体 } 中断号码 u s i n g 寄存器组号码 C 语言符号控制命令表 C 语言符号控制命令表中断号码#define IE0_VECTOR 0 //0x03 #define TF0_VECTOR 1 //0x0B #define IE1_VECTOR 2 //0x13 #define TF1_VECTOR 3 //0x1B #define SIO_VECTOR 4 //0x23 对于 S51 有定时器 2 #define TF2_VECTOR 5 //0x2B 例:s t a t i c v o i d x i n t 0 _ i s r ( v o i d ) i n t e r r u p t I E 0 _ V E C T O R ( 或 0 ) { unsigned char i,j=0xFF; for(i=0,i<16,i++) { j++; P1=j; //将 数 值 输 出 到 P1 口 delay_4isr(); } }using 1-----------------------------------------------------汇编语言-------------------------------------------------在 C 中加入汇编语言例:v o i d d e l a y 1 0 0 u s ( ) { #pragma asm mov more: mov djnz djnz #pragma endasm }r7,#1 r3,#48 r3,$ r7,more----------------------------------------------------宏(macro)---------------------------------------------宏的定义 %*define (macro 名 称 ) (macro 的 指 令 )例:% * d e f i n e ( w r i t e _ 1 ) ( setb DI serb SK clr SK )# d e f i n e 宏的名称 宏的指令例 : #define uchar unsigned char C 语言符号控制命令表 C 语言符号控制命令表1 级优先级 左结合 () 圆括号 [] 下标运算符 -> 指向结构体成员运算符 . 结构体成员运算符 2 级优先级 右结合 ! 逻辑非运算符 ~ 按位取反运算符 ++ 自增运算符 -- 自减运算符 - 负号运算符 (类型) 类型转换运算符 * 指针运算符 & 地址与运算符 sizeof 长度运算符 3 级优先级 左结合 * 乘法运算符 / 除法运算符 % 取余运算符 4 级优先级 左结合 + 加法运算符 - 减法运算符 5 级优先级 左结合 << 左移运算符 >> 右移运算符 6 级优先级 左结合 <、<=、>、>= 关系运算符 7 级优先级 左结合 == 等于运算符 C 语言符号控制命令表 C 语言符号控制命令表!= 不等于运算符 8 级优先级 左结合 & 按位与运算符 9 级优先级 左结合 ^ 按位异或运算符 10 级优先级 左结合 | 按位或运算符 11 级优先级 左结合 && 逻辑与运算符 12 级优先级 左结合 || 逻辑或运算符 13 级优先级 右结合 ? : 条件运算符 14 级优先级 右结合 =+ =/ >= &= =- =* =% = < <= ^= |= 全为赋值运算符15 级优先级 左结合 , 逗号运算符

Extend C 用法

C++中 extern “C”含义深层探索 extern “C” 是一个双向都需要用到的语法表示,就是说在 cpp 引用 c 头文件,或者 c 引用 cpp 文件时都需要用到。但 extern “C” 永远只能在 cpp 引用时出现,c 引用时不允许存在。当 cpp 引用 c 中的函数时,需要在 cpp 使用的头文件中声明 extern “C”,当 c 引用 cpp 中的函 数时,需要在 cpp 使用的头文件中用 extern “C”声明,这样编译器在编译时会对函数名进行特 殊处理,以使其能够被 c 引用。如果不进行声明,那么当 c 引用这个头文件时,就会找不到函 数,因为 cpp 的函数命名规则中包含变量类型,而 c 编译后的函数名不包含这些。

1.引言 C++语言的创建初衷是“a better C”,但是这并不意味着 C++中类似 C 语言的全局变量 和函数所采用的编译和连接方式与 C 语言完全相同。作为一种欲与 C 兼容的语言,C++保留了 一部分过程式语言的特点(被世人称为“不彻底地面向对象”),因而它可以定义不属于任何类的 全局变量和函数。但是,C++毕竟是一种面向对象的程序设计语言,为了支持函数的重载,C+ +对全局函数的处理方式与 C 有明显的不同。

2.从标准头文件说起某企业曾经给出如下的一道面试题:面试题 为什么标准头文件都有类似以下的结构?#ifndef __INCvxWorksh #define __INCvxWorksh #ifdef __cplusplus extern "C" { #endif /*...*/ #ifdef __cplusplus } #endif #endif /* __INCvxWorksh */分析 显然,头文件中的编译宏“#ifndef __INCvxWorksh、#define __INCvxWorksh、#e ndif” 的作用是防止该头文件被重复引用。那么#ifdef __cplusplus extern "C" { #endif #ifdef __cplusplus } #endif的作用又是什么呢?我们将在下文一一道来。3.深层揭密 extern "C"extern "C" 包含双重含义,从字面上即可得到:首先,被它修饰的目标是“extern”的;其 次,被它修饰的目标是“C”的。让我们来详细解读这两重含义。被 extern "C"限定的函数或变量是 extern 类型的;extern 是 C/C++语言中表明函数和全局变量作用范围(可见性)的关键字,该关键字告 诉编译器,其声明的函数和变量可以在本模块或其它模块中使用。记住,下列语句:extern int a; 仅仅是一个变量的声明,其并不是在定义变量 a,并未为 a 分配内存空间。变量 a 在所有 模块中作为一种全局变量只能被定义一次,否则会出现连接错误。通常,在模块的头文件中对本模块提供给其它模块引用的函数和全局变量以关键字 extern 声明。例如,如果模块 B 欲引用该模块 A 中定义的全局变量和函数时只需包含模块 A 的头文件 即可。这样,模块 B 中调用模块 A 中的函数时,在编译阶段,模块 B 虽然找不到该函数,但是 并不会报错;它会在连接阶段中从模块 A 编译生成的目标代码中找到此函数。与 extern 对应的关键字是 static, 被它修饰的全局变量和函数只能在本模块中使用。

因此, 一个函数或变量只可能被本模块使用时,其不可能被 extern “C”修饰。被 extern "C"修饰的变量和函数是按照 C 语言方式编译和连接的;未加 extern “C”声明时的编译方式首先看看 C++中对类似 C 的函数是怎样编译的。作为一种面向对象的语言,C++支持函数重载,而过程式语言 C 则不支持。函数被 C++ 编译后在符号库中的名字与 C 语言的不同。例如,假设某个函数的原型为:void foo( int x, int y );该函数被 C 编译器编译后在符号库中的名字为_foo,而 C++编译器则会产生像_foo_int _int 之类的名字(不同的编译器可能生成的名字不同,但是都采用了相同的机制,生成的新名 字称为“mangled name”)。_foo_int_int 这样的名字包含了函数名、函数参数数量及类型信息,C++就是靠这种机制 来实现函数重载的。例如,在 C++中,函数 void foo( int x, int y )与 void foo( int x, f loat y )编译生成的符号是不相同的,后者为_foo_int_float。

同样地,C++中的变量除支持局部变量外,还支持类成员变量和全局变量。用户所编写程 序的类成员变量可能与全局变量同名,我们以"."来区分。而本质上,编译器在进行编译时,与 函数的处理相似, 也为类中的变量取了一个独一无二的名字, 这个名字与用户程序中同名的全局 变量名字不同。未加 extern "C"声明时的连接方式假设在 C++中,模块 A 的头文件如下:// 模块 A 头文件moduleA.h#ifndef MODULE_A_H #define MODULE_A_H int foo( int x, int y ); #endif在模块 B 中引用该函数:// 模块 B 实现文件moduleB.cpp#include "moduleA.h" foo(2,3);实际上,在连接阶段,连接器会从模块 A 生成的目标文件 moduleA.obj 中寻找_foo_int _int 这样的符号!加 extern "C"声明后的编译和连接方式加 extern "C"声明后,模块 A 的头文件变为:// 模块 A 头文件moduleA.h#ifndef MODULE_A_H #define MODULE_A_H extern "C" int foo( int x, int y ); #endif在模块 B 的实现文件中仍然调用 foo( 2,3 ),其结果是:(1)模块 A 编译生成 foo 的目标代码时,没有对其名字进行特殊处理,采用了 C 语言的 方式;(2)连接器在为模块 B 的目标代码寻找 foo(2,3)调用时,寻找的是未经修改的符号名_f oo。如果在模块 A 中函数声明了 foo 为 extern "C"类型,而模块 B 中包含的是 extern int f oo( int x, int y ) ,则模块 B 找不到模块 A 中的函数;反之亦然。所以,可以用一句话概括 extern “C”这个声明的真实目的(任何语言中的任何语法特性的 诞生都不是随意而为的,来源于真实世界的需求驱动。我们在思考问题时,不能只停留在这个语 言是怎么做的,还要问一问它为什么要这么做,动机是什么,这样我们可以更深入地理解许多问 题): 实现 C++与 C 及其它语言的混合编程。

明白了 C++中 extern "C"的设立动机, 我们下面来具体分析 extern "C"通常的使用技巧。

4.extern "C"的惯用法(1) C++中引用 C 语言中的函数和变量, 在 在包含 C 语言头文件 (假设为 cExample.h) 时,需进行下列处理:extern "C" { #include "cExample.h" } 而在 C 语言的头文件中,对其外部函数只能指定为 extern 类型,C 语言中不支持 extern "C"声明,在.c 文件中包含了 extern "C"时会出现编译语法错误。笔者编写的 C++引用 C 函数例子工程中包含的三个文件的源代码如下:/* c 语言头文件:cExample.h */ #ifndef C_EXAMPLE_H #define C_EXAMPLE_H extern int add(int x,int y); #endif /* c 语言实现文件:cExample.c */ #include "cExample.h" int add( int x, int y ) { return x + y; } // c++实现文件,调用 add:cppFile.cpp extern "C" { #include "cExample.h" } int main(int argc, char* argv[]) { add(2,3); return 0; } 如果 C++调用一个 C 语言编写的.DLL 时,当包括.DLL 的头文件或声明接口函数时,应加 extern "C" { }。(2)在 C 中引用 C++语言中的函数和变量时,C++的头文件需添加 extern "C",但是 在 C 语言中不能直接引用声明了 extern "C"的该头文件,应该仅将 C 文件中将 C++中定义的 extern "C"函数声明为 extern 类型。

笔者编写的 C 引用 C++函数例子工程中包含的三个文件的源代码如下://C++头文件 cppExample.h #ifndef CPP_EXAMPLE_H #define CPP_EXAMPLE_H extern "C" int add( int x, int y ); #endif //C++实现文件 cppExample.cpp #include "cppExample.h" int add( int x, int y ) { return x + y; } /* C 实现文件 cFile.c /* 这样会编译出错:#include "cExample.h" */ extern int add( int x, int y ); int main( int argc, char* argv[] ) { add( 2, 3 ); return 0; } 如果深入理解了第 3 节中所阐述的 extern "C"在编译和连接阶段发挥的作用, 就能真正理 解本节所阐述的从 C++引用 C 函数和 C 引用 C++函数的惯用法。对第 4 节给出的示例代码, 需要特别留意各个细节。

C语言 选择语句

1. 实验目的1. 掌握选择结构 2. 掌握三种 if 语句。

3. 掌握多分支 switch 语句。2.实验内容1. 某年如果能被 4 整除,但不能被 100 整除,或者能被 400 整除的 年是闰年。判断从键盘输入的年份是否为闰年。程序代码: # include <stdio.h> int main() { int year; printf("请输入年份\n"); scanf("%d",&year); if((year%4 == 0 && year%100 != 0) || (year%400 == 0 )) printf("%d 年是闰年\n",year); else printf("%d 年不是闰年\n",year); return 0; } 调试结果:2、 某个自动加油站有 ‘a’ b’ , , ‘ ‘c’三种汽油品种,单价分别为 6.92,7.37,7.64(元/公升),也 提供了“自己加”或“协助加”两个服务等级,这样用户可以得 到 5%或 10%的优惠,请编程序针对用户输入加油量 m,汽油品 种 y 和服务类型 z( ‘f’—自动加, ‘m’—自己加, ‘e’—协助 加)(注: , ‘f’—自动加无优惠) ,计算应付款 pay。

(请用多分 支选择 switch 语句) 。程序代码: # include <stdio.h> int main() { double n,d,p; char y,z; printf("请输入加油量,汽油品种(a,b,c) ,服务类型(f-自动加,m-自己加,e-协助加) \n"); scanf("%lf,%c,%c",&n,&y,&z); switch(y) { case'a':d=6.92*n;break; case'b':d=7.37*n;break; case'c':d=7.64*n;break; default:printf("输入错误\n"); } switch(z) { case'f':p=d;break; case'm':p=0.95*d;break; case'e':p=0.9*d;break; default:printf("输入错误\n"); } printf("加油量:%lf 汽油类型:%c 服务类型:%c 应付:%.2lf\n",n,y,z,p); return 0; } 调试结果:3、输入三角形三边,判断该三角形是什么三角形(等边,等腰,普 通和直角)程序代码: # include <stdio.h> # include <math.h> int main() { float a,b,c; printf("请输三角形三边长 a,b,c\n"); scanf("%f,%f,%f",&a,&b,&c); if ((a+b>c) &&( b+c>a) && (c+a>b)) if(a==b||b==c||a==c) if(a==b&&b==c) printf("三角形为等边三角形\n"); else printf("三角形为等腰三角形\n"); else if(a*a==b*b+c*c||b*b==a*a+c*c||c*c==b*b+a*a) printf("三角形为直角三角形\n"); else printf("三角形为普通三角形\n"); else printf("数据错误"); return 0; }调试结果:4. 编写一个菜单程序,输入 1~3 以进入相应的选择项。

(请用 switch 语句) 1、FindNum 2、Diamond 3、Goodbye! Input 1-3:程序代码: #include <stdio.h> int main() { int a; char s='y'; while(s=='y') {printf("菜单如下,请选择:\n"); printf("1、FindNum\n"); printf("2、Diamond\n"); printf("3、Goodbye!\n"); printf("请输入 1-3: \n"); scanf("%d",&a); switch(a) { case 1: printf("FindNum\n"); break; case 2: printf("Diamond\n"); break; case 3: printf("Goodbye!\n"); break; } printf("还要继续吗(y/n):"); scanf(" %c",&s); if(s=='y') continue; else break; } return 0; }调试结果: 5.输入 4 个整数,要求按由小到大的顺序输出程序代码: #include <stdio.h> int main() { int a,b,c,d,t; printf("请输入四个整数\n"); scanf("%d,%d,%d,%d",&a,&b,&c,&d); if(a>b) {t=a;a=b,b=t;} if(a>c) {t=a;a=c;c=t;} if(a>d) {t=a;a=d;d=t;} if(b>c) {t=b;b=c,c=t;} if(b>d) {t=b;b=d;d=t;} if(c>d) {t=c;c=d;d=t;} printf("排序结果如下:\n"); printf("%d %d %d %d\n",a,b,c,d); return 0; } 调试结果:6.求一元二次方程 ax2+bx+c=0 的根。

当 b2-4ac>0 为不相等的两实根, 当 b2-4ac=0 时为两相等的实根, 当 b2-4ac<0 为两复根。程序代码: #include <stdio.h> #include <math.h> int main( ) { double a,b,c,x1,x2,y,d,e; printf("请输入方程的 a,b,c: "); scanf("%lf,%lf,%lf",&a,&b,&c); y = b*b-4.0*a*c; if (y<0) {d=-b/(2.0*a); e=sqrt(-y)/(2.0*a); printf("x1=%lf+%lfi, x2=%lf-%lfi\n",d,e,d,e); } else { x1 = (-b+sqrt(y))/(2.0*a); x2 = (-b-sqrt(y))/(2.0*a); printf("x1=%lf, x2=%lf\n", x1, x2); } return 0; } 调试结果: 7、编制程序要求输入整数 a 和 b,若 a2+b2 大于 100,则输出 a2+b2 百位以上的数字,否则输出两数之和程序代码: # include <stdio.h> int main() { int a,b,c,d,e; printf("请输两个整数 a,b\n"); scanf("%d,%d",&a,&b); c=(a*a+b*b); if((a*a+b*b)>100) { d=c/100; printf("%d\n",d); } else { e=a+b; printf("%d\n",e); } return 0; } 调试结果:8、有三个整数 a,b,c,由键盘输入,输出其中最大的数。程序代码: #include <stdio.h> int main() { float a,b,c,t; printf("请输入三个数 a,b,c\n"); scanf("%f,%f,%f",&a,&b,&c); if(a>b) {t=a;a=b;b=t;} if(a>c) {t=a;a=c;c=t;} if(b>c) {t=b;b=c;c=t;} printf("最大的数是:%f\n",c); return 0; } 调试结果:9、有一个函数:y=x 2x-1(x<1) (1<=x<10)3x-11(x>=10)写程序,输入 x 的值,输出 y 相应的值。程序代码: #include <stdio.h> int main() { double x,y; printf("请输入 x:\n"); scanf("%lf",&x); if(x<1) y=x; else if(x<10) y=2.0*x-1; else y=3.0*x-11; printf("y=%lf\n",y); return 0; } 调试结果;

本文来源:http://www.zgzsclpt.com/content/190095.html

推荐内容