总结C语言语句的几个基本练习题,计算素数、排序、求偶数和、可逆素数、水仙花数、交换大小写、交换变量的值、位运算、语法特性等知识点。
1. 输出100~200之间所有可逆素数
1.输出100~200之间所有可逆素数(除了1和本身能够整除)。----练习for的控制
比如: 3 7 13 11
示例:
#include
int main(int argc, char * argv[])
{
int i,j,k;
int a,b,c;
int data;
for(i=100;i<200;i++) //范围
{
for(j=2;j;j++)>
2. 输入任意3个数,按从大到小的顺序输出
2.输入任意3个数,按从大到小的顺序输出--->练习if语句,了解排序原理
示例:
#include
int main(int argc, char * argv[])
{
int a=500,b=200,c=600,tmp;
if(a)>
3. 编程计算: 123+345….99100101的值
3. 编程计算: 123+345….99100101的值
3.编程计算: 1*2*3+3*4*5….99*100*101的值
示例:
#include
int main(int argc, char * argv[])
{
//1*2*3+3*4*5….99*100*101
int i;
int sum=0;
for(i=1;i<=99;i+=2)
{
sum+=i*(i+1)*(i+2);
}
printf("sum=%d\n",sum);
return 0;
}
4. 输出0~100以内的偶数之和。
4. 输出0~100以内的偶数之和。
4.输出0~100以内的偶数之和。
示例:
#include
int main(int argc, char * argv[])
{
int i;
int sum=0;
for(i=0;i<=100;i++)
{
if(i%2==0) //判断偶数
{
sum+=i;
}
}
printf("sum=%d\n",sum);
return 0;
}
5. 打印所有的水仙花数
5. 打印所有的水仙花数
5.打印所有的水仙花数。水仙花数是3位数---个位+十位+百位立方和等于它本身
例如: 123=1*1*1+2*2*2+3*3*3
示例:
#include
int main(int argc, char * argv[])
{
int i;
int sum=0;
int a,b,c;
for(i=100;i<=999;i++)
{
a=i/100;
b=i%100/10;
c=i%10/1;
sum=a*a*a+b*b*b+c*c*c; //计算立方和
if(sum==i)
{
printf("%d ",i);
}
}
return 0;
}
6. 转换大小写
6. 转换大小写
位作业:------处理数据都得使用二进制
1.转换大小写 (位运算完成大小写转换)
示例:
#include
int main(int argc, char * argv[])
{
char c;
printf("输入一个字符:");
scanf("%c",&c);
c=c^0x20; //0b00100000 0x123
printf("%c\n",c);
return 0;
}
7. 使用位运算交换两个变量的值
7. 使用位运算交换两个变量的值
2.使用位运算交换两个变量的值。(规定: 只有两个变量)
示例: (可以做加密算法)
#include
int main(int argc, char * argv[])
{
/*
01000001 原文 ^
01100001 密码
--------
00100000 密文
01100001 密码
--------------
01000001 原文
*/
int a=65,b=97;
a=a^b;
b=a^b;
a=a^b;
printf("%d,%d\n",a,b);
return 0;
}
8. 完成位运算的综合运用
8. 完成位运算的综合运用
3.完成位运算的综合运用。
(1)定义一个int类型的变量。
(2)在int类型类型变量里存放4个字母(A B C D)。
(3)存放之后在将字母取出来打印出来。
(4) 在不影响其他数据的情况下将B改为K或者其他数据
#include
int main(int argc, char * argv[])
{
unsigned int data=344545;
/*1. 存放数据*/
data='A'<<24;
data|='B'<<16;
data|='C'<<8;
data|='D'<<0;
/*2. 取出数据*/
printf("%c\n",data>>24);
printf("%c\n",(data>>16)&0xFF);
printf("%c\n",(data>>8)&0xFF);
printf("%c\n",(data>>0)&0xFF);
/*3. 修改数据的值*/
data&=~(0xFF<<16); //清除数据
data|='K'<<16; //赋值
/*4. 取出数据*/
printf("%c\n",data>>24);
printf("%c\n",(data>>16)&0xFF);
printf("%c\n",(data>>8)&0xFF);
printf("%c\n",(data>>0)&0xFF);
return 0;
}
9. 显示中文
9. 显示中文
通过*号打印出自己的名字。
1.颜色转换的例子: RGB888 RGB565 RGB66….
int data=12345; //RGB888的颜色
要求将data转为RGB565 -去掉高位
2.实际的运用
short c1=1234; //R占11~15位 G占2~7位
short c2=4567; //B占 11~15位
要求: 将以上RGB分量提取出来,存在另一个变量(16位的变量)中—RGB565 。
unsigned int data_1; //整型 4个字节
unsigned short data_2; //短整型 2个字节
unsigned long data_3; //长整型 4个字节
unsigned long long data_3; //双长整型 8个字节
10. C语言的特性:
10. C语言的特性:
C语言的特性:
(1) C语言程序顺序控制语法---执行顺序是从上到下。
(2) C语言程序基本组成: 函数组成---->专用的工具包。
(3) C语言语法: 变量、常量、函数、语句、关键字
(4) C语言威廉希尔官方网站
关键: 数据结构、算法
C语言的基本框架:
#include //头文件--->引用
int main(int argc, char *argv[]) //主函数…..入口
{
printf("hello!\n");
return 0;
}
学习开始: 输入(scanf)和输出(printf)
11. C语言规则约定
11. C语言规则约定
C语言编程约定
(1)每条语句分号;结束; int data;
(2), 逗号 分隔符号。比如: int a,b,c,d;
(3)程序里不能出现中文符号。(, ,)
(4)基本逻辑程序都是在函数内部编写{ }之间。
int main(int argc, char *argv[])
{
…………………
…………………
}
(5) 编写每条语句,或者变量,每换一次行都需要对齐。(距离左边距4个空格---一个TAB键的距离)
(6) 编写代码时,括号要连打
基本单位
1个字节------8位------------->计算机存储只能是二进制----------->
1kb-------------1024字节
1mb------------1024kb
数据类型----决定每一个空间的大小。
int : 整型(0,12,45565,56565), 占4字节
char :字符类型(‘A’,’6’,’7’,’D’) ,占1字节
float: 单精度浮点类型(12.454678), 占4字节
double:双精度浮点类型,占8字节
long :长整型 , 占4字节
long long :双长整型 ,占8字节
怎么计算?
#include
int main(int argc, char *argv[])
{
printf("int=%d 字节\n",sizeof(int));
printf("char=%d 字节\n",sizeof(char));
printf("float=%d 字节\n",sizeof(float));
printf("double=%d 字节\n",sizeof(double));
return 0;
}
变量语法: <数据类型> 变量的名称;
Int data;
变量名字命名规则:
(1)数字不能开头
(2)A~Z a~z 0~9 _
格式化打印
printf(“格式1,格式2…..\n”,变量1,变量2……….);
格式化输入
scanf(“格式1,格式2……”,&变量1,&变量2………….);
格式:
%d 整型
%c 字符类型
%f 符点类型
%s 字符串类型
%o 8进制
%x 16进制
%p 打印地址
无符号声明: unsigned 只能针对整型和字符类型有效
示例: unsigned char data2=255;
测试变量的数据存放范围:
#include
int main(int argc, char *argv[])
{
char data1=128; //范围+127 ~ -128
unsigned char data2=256; //范围 +0 ~ +255
printf("datat1=%d\n",data1);
printf("datat2=%d\n",data2);
return 0;
}
基本运算符
+ - * \
%表示取余运算符 8%4=0
=表示赋值运算符
结合运算符:
+= -= *= \=
比如: a=a+b; -------->a+=b;
审核编辑:汤梓红
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
C语言
+关注
关注
180文章
7604浏览量
136714 -
位运算
+关注
关注
0文章
17浏览量
8422
发布评论请先 登录
相关推荐
VHDL并行语句(生成语句)使用练习
实验七、VHDL并行语句(生成语句)使用练习一 实验目的1掌握VHDL语言的基本描述语句的使用方法。2掌握VHDL
发表于 03-13 19:25
•2662次阅读
C语言入门教程-if语句和while循环
if语句和while循环
C语言中,if语句和while循环都会用到布尔表达式。下面是一个使用if语句的简单例子:
#include
发表于 07-29 10:48
•8549次阅读
C语言入门C语言语句的更换技巧
C语言中有很多条语句, 在我们以后接触到的程序中无非只有5条语句,而像do while和switch这样的语句并不常用,就只剩下if、for
发表于 04-28 14:57
•123次下载
评论