0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

C語言_語句與位運算基本練習

DS小龍哥-嵌入式技術(shù) ? 來源:DS小龍哥-嵌入式技術(shù) ? 作者:DS小龍哥-嵌入式技 ? 2022-08-14 09:46 ? 次閱讀

總結(jié)C語言語句的幾個基本練習題,計算素數(shù)、排序、求偶數(shù)和、可逆素數(shù)、水仙花數(shù)、交換大小寫、交換變量的值、位運算、語法特性等知識點。

1. 輸出100~200之間所有可逆素數(shù)

1.輸出100~200之間所有可逆素數(shù)(除了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個數(shù),按從大到小的順序輸出

2.輸入任意3個數(shù),按從大到小的順序輸出--->練習if語句,了解排序原理
示例:
#include 
int main(int argc, char * argv[])
{
	int a=500,b=200,c=600,tmp;
   
   if(a)>

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以內(nèi)的偶數(shù)之和。

4.輸出0~100以內(nèi)的偶數(shù)之和。
示例:
#include 
int main(int argc, char * argv[])
{
   int i;
   int sum=0;
	for(i=0;i<=100;i++)
   {
		if(i%2==0) //判斷偶數(shù)
	   {
	     sum+=i;
	   }
   }
   printf("sum=%d\n",sum);
	return 0;
}

5. 打印所有的水仙花數(shù)

5.打印所有的水仙花數(shù)。水仙花數(shù)是3位數(shù)---個位+十位+百位立方和等于它本身
例如: 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. 轉(zhuǎn)換大小寫

位作業(yè):------處理數(shù)據(jù)都得使用二進制
1.轉(zhuǎn)換大小寫 (位運算完成大小寫轉(zhuǎn)換)
示例:
#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. 使用位運算交換兩個變量的值

2.使用位運算交換兩個變量的值。(規(guī)定: 只有兩個變量)
示例:   (可以做加密算法)
#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. 完成位運算的綜合運用

3.完成位運算的綜合運用。
(1)定義一個int類型的變量。 
(2)在int類型類型變量里存放4個字母(A B C D)。
(3)存放之后在將字母取出來打印出來。
(4) 在不影響其他數(shù)據(jù)的情況下將B改為K或者其他數(shù)據(jù)

#include 
int main(int argc, char * argv[])
{
	unsigned int data=344545;

   /*1. 存放數(shù)據(jù)*/	
   data='A'<<24; 
   data|='B'<<16;
   data|='C'<<8;
   data|='D'<<0;
   
	/*2. 取出數(shù)據(jù)*/
   printf("%c\n",data>>24);
   printf("%c\n",(data>>16)&0xFF);
   printf("%c\n",(data>>8)&0xFF);
   printf("%c\n",(data>>0)&0xFF);
   
   /*3. 修改數(shù)據(jù)的值*/
   data&=~(0xFF<<16); //清除數(shù)據(jù)
   data|='K'<<16;     //賦值 
  
   /*4. 取出數(shù)據(jù)*/
   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. 顯示中文

  通過*號打印出自己的名字。
1.顏色轉(zhuǎn)換的例子:  RGB888  RGB565  RGB66…. 
   int data=12345; //RGB888的顏色
   要求將data轉(zhuǎn)為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個字節(jié)
	unsigned short data_2; //短整型 2個字節(jié)
   unsigned long data_3;  //長整型 4個字節(jié)
   unsigned long long data_3;  //雙長整型  8個字節(jié)

10. C語言的特性:

C語言的特性:
(1) C語言程序順序控制語法---執(zhí)行順序是從上到下。
(2) C語言程序基本組成:  函數(shù)組成---->專用的工具包。
(3) C語言語法: 變量、常量、函數(shù)、語句、關(guān)鍵字
(4) C語言技術(shù)關(guān)鍵: 數(shù)據(jù)結(jié)構(gòu)、算法
C語言的基本框架:
#include   //頭文件--->引用
int main(int argc, char *argv[])  //主函數(shù)…..入口
{
	printf("hello!\n"); 
	return 0;
}
學(xué)習開始:  輸入(scanf)和輸出(printf)

11. C語言規(guī)則約定

C語言編程約定
(1)每條語句分號;結(jié)束;  int data;
(2), 逗號  分隔符號。比如: int a,b,c,d;
(3)程序里不能出現(xiàn)中文符號。(,   ,)
(4)基本邏輯程序都是在函數(shù)內(nèi)部編寫{  }之間。

int main(int argc, char *argv[])
{
   …………………
   …………………
}
(5) 編寫每條語句,或者變量,每換一次行都需要對齊。(距離左邊距4個空格---一個TAB鍵的距離)
(6) 編寫代碼時,括號要連打
基本單位
1個字節(jié)------8位------------->計算機存儲只能是二進制----------->
1kb-------------1024字節(jié)
1mb------------1024kb
?數(shù)據(jù)類型----決定每一個空間的大小。
int : 整型(0,12,45565,56565), 占4字節(jié)
char :字符類型(‘A’,’6’,’7’,’D’) ,占1字節(jié)
float: 單精度浮點類型(12.454678), 占4字節(jié)
double:雙精度浮點類型,占8字節(jié)
long  :長整型 , 占4字節(jié)
long long :雙長整型 ,占8字節(jié)
怎么計算?
#include 
int main(int argc, char *argv[])
{
	printf("int=%d 字節(jié)\n",sizeof(int));
    printf("char=%d 字節(jié)\n",sizeof(char));
    printf("float=%d 字節(jié)\n",sizeof(float));
    printf("double=%d 字節(jié)\n",sizeof(double));
	return 0;
}

變量語法:  <數(shù)據(jù)類型>  變量的名稱;
                Int           data;   
  變量名字命名規(guī)則:
(1)數(shù)字不能開頭
(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;
測試變量的數(shù)據(jù)存放范圍:
#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  
=表示賦值運算符

結(jié)合運算符:
+=  -=  *=   \=

比如: a=a+b;  -------->a+=b;

審核編輯:湯梓紅
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • C語言
    +關(guān)注

    關(guān)注

    180

    文章

    7575

    瀏覽量

    134110
  • 位運算
    +關(guān)注

    關(guān)注

    0

    文章

    16

    瀏覽量

    8396
收藏 人收藏

    評論

    相關(guān)推薦

    C語言基礎(chǔ)知識(5)--循環(huán)語句

    C語言基礎(chǔ)知識(5)--循環(huán)語句
    的頭像 發(fā)表于 06-15 10:18 ?1786次閱讀
    <b class='flag-5'>C</b><b class='flag-5'>語言</b>基礎(chǔ)知識(5)--循環(huán)<b class='flag-5'>語句</b>

    C語言基礎(chǔ)(7)--運算

    程序中的所有數(shù)在計算機內(nèi)存中都是以二進制的形式儲存的。運算就是直接對整數(shù)在內(nèi)存中的二進制進行操作。C語言
    的頭像 發(fā)表于 06-29 11:25 ?2254次閱讀
    <b class='flag-5'>C</b><b class='flag-5'>語言</b>基礎(chǔ)(7)--<b class='flag-5'>位</b><b class='flag-5'>運算</b>

    C語言中if語句、if-else語句和switch語句詳解

    C語言中,有三種條件判斷結(jié)構(gòu):if語句、if-else語句和switch語句
    發(fā)表于 08-18 16:36 ?5913次閱讀
    <b class='flag-5'>C</b><b class='flag-5'>語言</b>中if<b class='flag-5'>語句</b>、if-else<b class='flag-5'>語句</b>和switch<b class='flag-5'>語句</b>詳解

    VHDL并行語句(生成語句)使用練習

    實驗七、VHDL并行語句(生成語句)使用練習一? 實驗?zāi)康?掌握VHDL語言的基本描述語句的使用方法。2掌握VHDL
    發(fā)表于 03-13 19:25 ?2587次閱讀
    VHDL并行<b class='flag-5'>語句</b>(生成<b class='flag-5'>語句</b>)使用<b class='flag-5'>練習</b>

    C語言入門教程-if語句和while循環(huán)

    if語句和while循環(huán) C語言中,if語句和while循環(huán)都會用到布爾表達式。下面是一個使用if語句的簡單例子: #include
    發(fā)表于 07-29 10:48 ?8446次閱讀

    單片機C語言教程-基礎(chǔ)語句

    單片機C語言教程-基礎(chǔ)語句   C語言入門之基礎(chǔ)語句  從程序流程的角度來看,程序可以分為三種
    發(fā)表于 03-27 17:15 ?3125次閱讀

    C/C++語言運算詳解

    運算是指按二進制進行的運算。在系統(tǒng)軟件中,常常需要處理二進制的問題。C語言提供了6個
    發(fā)表于 12-14 16:36 ?4527次閱讀

    C語言入門C語言語句的更換技巧

    C語言中有很多條語句, 在我們以后接觸到的程序中無非只有5條語句,而像do while和switch這樣的語句并不常用,就只剩下if、for
    發(fā)表于 04-28 14:57 ?123次下載

    C語言教程之整數(shù)加減法練習

    C語言教程之整數(shù)加減法練習,很好的C語言資料,快來學(xué)習吧。
    發(fā)表于 04-22 17:45 ?0次下載

    C語言32個關(guān)鍵字九種控制語句34種運算

    C語言32個關(guān)鍵字九種控制語句34種運算C語言32個關(guān)鍵字九種控制
    發(fā)表于 05-06 11:47 ?6次下載

    C語言運算+實例講解

    C語言運算有6種: &, | , ^(亦或), (右移)。 注意:參與運算的元素必須是in
    的頭像 發(fā)表于 03-22 16:00 ?8501次閱讀
    <b class='flag-5'>C</b><b class='flag-5'>語言</b><b class='flag-5'>位</b><b class='flag-5'>運算</b>+實例講解

    簡單實用——C語言入門程序練習

    C語言入門程序練習,簡單實用
    發(fā)表于 04-04 10:14 ?31次下載

    C語言總結(jié)_語句運算

    當前文章復(fù)盤C語言的: 運算運算符、基本運算符、數(shù)據(jù)類型、變量、for
    的頭像 發(fā)表于 08-14 09:39 ?898次閱讀

    C語言-語句(if,for,while.....)

    這篇文章作為C語言基礎(chǔ)知識點,介紹C語言常用的幾個語句的用法、規(guī)則、使用案例。
    的頭像 發(fā)表于 08-14 10:00 ?1611次閱讀

    C語言for語句介紹

    除了可以用while語句和do...while語句實現(xiàn)循環(huán)外,C語言還提供for語句實現(xiàn)循環(huán),而且for
    的頭像 發(fā)表于 03-09 11:14 ?1063次閱讀