總結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瀏覽量
136685 -
位運算
+關注
關注
0文章
17瀏覽量
8422
發布評論請先 登錄
相關推薦
VHDL并行語句(生成語句)使用練習
實驗七、VHDL并行語句(生成語句)使用練習一? 實驗目的1掌握VHDL語言的基本描述語句的使用方法。2掌握VHDL
發表于 03-13 19:25
?2661次閱讀
C語言入門教程-if語句和while循環
if語句和while循環
C語言中,if語句和while循環都會用到布爾表達式。下面是一個使用if語句的簡單例子:
#include
發表于 07-29 10:48
?8547次閱讀
C語言入門C語言語句的更換技巧
C語言中有很多條語句, 在我們以后接觸到的程序中無非只有5條語句,而像do while和switch這樣的語句并不常用,就只剩下if、for
發表于 04-28 14:57
?123次下載
評論